數(shù)字圖像處理第一次作業(yè)報告_第1頁
數(shù)字圖像處理第一次作業(yè)報告_第2頁
數(shù)字圖像處理第一次作業(yè)報告_第3頁
數(shù)字圖像處理第一次作業(yè)報告_第4頁
數(shù)字圖像處理第一次作業(yè)報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)字圖像與視頻處理課程第一次作業(yè)姓名: 吳佳林 班級: 自動化12 學(xué)號: 2110504047 日期: 2014.3.17 摘 要本次報告首先簡單闡述了BMP圖像格式及其相關(guān)數(shù)據(jù)結(jié)構(gòu),隨后主要完成了作業(yè)要求中關(guān)于圖像處理與計算的各項任務(wù)。本次作業(yè)以Matlab 2013a為平臺,通過對lena.bmp,elain.bmp圖像文件的編程處理,分別得到了lena.bmp圖像的8到1級灰度逐級遞減顯示,lena.bmp圖像的均值和方差,通過近鄰、雙線性和雙三次插值法對lena.bmp進行4倍放大后得到的2048×2048尺寸圖像,和對lena.bmp、elain.bmp圖像分別進行水平s

2、hear變換和旋轉(zhuǎn)變換后的圖像及其4倍插值放大圖像。以上任務(wù)完成后均得到了預(yù)期的結(jié)果。 正 文1. BMP圖像格式簡介1.1 BMP格式概述BMP(全稱Bitmap)是Windows操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,可以分成兩類:設(shè)備相關(guān)位圖(DDB)和設(shè)備無關(guān)位圖(DIB),使用非常廣。它采用位映射存儲格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲數(shù)據(jù)時,圖像的掃描方式是按從左到右、從下到上的順序。1.2 BMP格式組成典型的BMP圖像文件由四部分組成:(1):位圖頭文件數(shù)據(jù)結(jié)構(gòu),

3、它包含BMP圖像文件的類型、顯示內(nèi)容等信息;(2):位圖信息數(shù)據(jù)結(jié)構(gòu),它包含有BMP圖像的寬、高、壓縮方法,以及定義顏色等信息;(3):調(diào)色板,這個部分是可選的,有些位圖需要調(diào)色板,有些位圖,比如真彩色圖(24位的BMP)就不需要調(diào)色板;(4):位圖數(shù)據(jù),這部分的內(nèi)容根據(jù)BMP位圖使用的位數(shù)不同而不同,在24位圖中直接使用RGB,而其他的小于24位的使用調(diào)色板中顏色索引值。1.3 BMP格式對應(yīng)數(shù)據(jù)結(jié)構(gòu)BMP文件由文件頭、位圖信息頭、顏色信息和圖形數(shù)據(jù)四部分組成。1.3.1 BMP文件頭(14字節(jié))BMP文件頭數(shù)據(jù)結(jié)構(gòu)含有BMP文件的類型、文件大小和位圖起始位置等信息。其結(jié)構(gòu)定義如下:type

4、def struct tagBITMAPFILEHEADER WORD bfType; / 位圖文件的類型,必須為BM(1-2字節(jié)) DWORD bfSize; / 位圖文件的大小,以字節(jié)為單位(3-6字節(jié)) WORD bfReserved1; / 位圖文件保留字,必須為0(7-8字節(jié)) WORD bfReserved2; / 位圖文件保留字,必須為0(9-10字節(jié)) DWORD bfOffBits; / 位圖數(shù)據(jù)的起始位置,以相對于位圖(11-14字節(jié)) / 文件頭的偏移量表示,以字節(jié)為單位 BITMAPFILEHEADER;1.3.2 位圖信息頭(40字節(jié))BMP位圖信息頭數(shù)據(jù)用于說明位圖

5、的尺寸等信息。typedef struct tagBITMAPINFOHEADER DWORD biSize; / 本結(jié)構(gòu)所占用字節(jié)數(shù)(15-18字節(jié)) LONG biWidth; / 位圖的寬度,以像素為單位(19-22字節(jié)) LONG biHeight; / 位圖的高度,以像素為單位(23-26字節(jié)) WORD biPlanes; / 目標(biāo)設(shè)備的級別,必須為1(27-28字節(jié)) WORD biBitCount;/ 每個像素所需的位數(shù),必須是1(雙色),(29-30字節(jié)) / 4(16色),8(256色)16(高彩色)或24(真彩色)之一 DWORD biCompression; / 位圖壓

6、縮類型,必須是 0(不壓縮),(31-34字節(jié)) / 1(BI_RLE8壓縮類型)或2(BI_RLE4壓縮類型)之一 DWORD biSizeImage; / 位圖的大小(其中包含了為了補齊行數(shù)是4的倍數(shù)而添加的空字節(jié)),以字節(jié)為單位(35-38字節(jié)) LONG biXPelsPerMeter; / 位圖水平分辨率,每米像素數(shù)(39-42字節(jié)) LONG biYPelsPerMeter; / 位圖垂直分辨率,每米像素數(shù)(43-46字節(jié)) DWORD biClrUsed;/ 位圖實際使用的顏色表中的顏色數(shù)(47-50字節(jié)) DWORD biClrImportant;/ 位圖顯示過程中重要的顏色數(shù)

7、(51-54字節(jié)) BITMAPINFOHEADER;1.3.3 顏色表顏色表用于說明位圖中的顏色,它有若干個表項,每一個表項是RGBQUAD類型的結(jié)構(gòu),定義一種顏色。RGBQUAD結(jié)構(gòu)的定義如下:typedef struct tagRGBQUAD BYTE rgbBlue;/ 藍(lán)色的亮度(值范圍為0-255) BYTE rgbGreen; / 綠色的亮度(值范圍為0-255) BYTE rgbRed; / 紅色的亮度(值范圍為0-255) BYTE rgbReserved;/ 保留,必須為0 RGBQUAD; 顏色表中RGBQUAD結(jié)構(gòu)數(shù)據(jù)的個數(shù)有biBitCount來確定: 當(dāng)biBitC

8、ount=1,4,8時,分別有2,16,256個表項; 當(dāng)biBitCount=24時,沒有顏色表項。 位圖信息頭和顏色表組成位圖信息,BITMAPINFO結(jié)構(gòu)定義如下:typedef struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader; / 位圖信息頭 RGBQUAD bmiColors1; / 顏色表 BITMAPINFO; 1.3.4 位圖數(shù)據(jù)位圖數(shù)據(jù)記錄了位圖的每一個像素值,記錄順序是在掃描行內(nèi)是從左到右, 掃描行之間是從下到上。位圖的一個像素值所占的字節(jié)數(shù):當(dāng)biBitCount=1時,8個像素占1個字節(jié);當(dāng)biBitCount=4時,2個

9、像素占1個字節(jié);當(dāng)biBitCount=8時,1個像素占1個字節(jié);當(dāng)biBitCount=24時,1個像素占3個字節(jié),按順序分別為B,G,R;Windows規(guī)定一個掃描行所占的字節(jié)數(shù)必須是4的倍數(shù)(即以long為單位), 不足的以0填充。2. 把lena 512*512圖像灰度級逐級遞減8-1顯示2.1 實驗原理給定的lena.bmp是一幅8位灰階的圖像,即有256個灰度色。則K位灰階圖像中某像素的灰度值(以階色為基準(zhǔn))與原圖同像素的灰度值(以256階色為基準(zhǔn))的對應(yīng)關(guān)系為: (1.1)(1.1)式中函數(shù)為向下取整操作。取一確定k值,對原圖進行上式運算即得降階后的k位灰階圖像矩陣。值得注意的是

10、,此時的白色灰度值變?yōu)槎灰欢ㄊ?55,這一點在顯示圖像時需要考慮。2.2 實驗方法首先通過imread()函數(shù)讀入lena.bmp并轉(zhuǎn)換成double型放至變量lena。再依照(1.1)式對lena矩陣進行灰度降階運算,將結(jié)果保留至lena_alter變量。最后利用imshow()函數(shù)及其自適應(yīng)灰度顯示功能將lena_alter(以256階色基準(zhǔn))顯示出來。8階至1階圖像整體呈現(xiàn)由for循環(huán)實現(xiàn)。2.3 實驗結(jié)果程序運行結(jié)果如圖1.1所示:圖1.1由上圖可以看出,在灰度級下降到5之前,肉眼幾乎感覺不出降階后圖像發(fā)生的變化。但從4灰度級開始,肉眼明顯能感覺到圖像有稍許的不連續(xù),與原圖灰度漸變區(qū)

11、對應(yīng)位置灰度不連續(xù)的現(xiàn)象表現(xiàn)更加明顯。隨著灰度階數(shù)的繼續(xù)下降,圖像開始出現(xiàn)大片的偽輪廓,最終的極端情況是退化為只有黑白兩色的二值化圖像。由此可以得出,圖像采樣的灰度階數(shù)越高,肉眼看去更接近與現(xiàn)實情況。3.計算lena 圖像的均值與方差3.1 實驗原理對分辨率為的灰度圖像,其均值和方差分別為: (2.1) (2.2)3.2 實驗方法通過imread()函數(shù)讀入lena.bmp并轉(zhuǎn)換成double型放至變量lena,再利用MATLAB中提供的求二維矩陣全體元素均值和方差的函數(shù)mean2()和std2()分別求取lena的均值和方差并存入lena_avg和lena_var,最后通過fpringtf(

12、)輸出結(jié)果。3.3 實驗結(jié)果圖像的均值為:99.051圖像的方差為:2796.043在這里,圖像的均值可反應(yīng)圖像整體的明暗程度,而方差可以反應(yīng)圖像整體的對比度情況。4.把lena圖像用近鄰、雙線性和雙三次插值法zoom到2048*2048 4.1 實驗原理圖像插值就是利用已知鄰近像素點的灰度值來產(chǎn)生未知像素點的灰度值,以便由原始圖像再生出具有更高分辨率的圖像。典型方法包括最近鄰、雙線性、雙三次三種方法。最鄰近插值法就是將待插值點像素的灰度值取為其相對于原圖坐標(biāo)中最鄰近像素點的灰度值。這種方法比較簡單,計算速度快,但效果不好,會產(chǎn)生嚴(yán)重的“棋盤格”效應(yīng)。雙線性插值法是將待插值點像素的灰度值取為其

13、在原圖坐標(biāo)中距離最近的4個像素點灰度值的加權(quán)和。具體關(guān)系式為: (3.1)其中為待插值點在原圖中的相對整數(shù)坐標(biāo),為待插值點在原圖中的相對小數(shù)坐標(biāo)。雙線性插值法可以比較平滑得對圖像進行插值,效果令人滿意,但計算速度較最鄰近法有所下降。雙三次插值是一種更加復(fù)雜的插值方式,其插值函數(shù)為: (3.2)通過待插值像素點周圍 9 個點的灰度值,可以結(jié)合導(dǎo)數(shù)信息列出線性方程組求解系數(shù)向量。雙三次插值法較雙線性插值法能顯示更多的細(xì)節(jié),效果更好,但計算開銷較大,速度不理想。4.2 實驗方法為使實驗代碼更具模塊化且易于修改和維護,這里將三種插值算法封裝為功能函數(shù)(分別為my_imresize_n(),my_imr

14、esize_b(),my_imresize_c() )供插值集成函數(shù)my_imresize()格式化調(diào)用。在最鄰近法的實現(xiàn)中,通過對待插值點的相對坐標(biāo)取四舍五入得到最鄰近像素點灰度值,完成了對目標(biāo)點像素的賦值。在雙線性法的實現(xiàn)中,待插值點的灰度值由(3.1)式計算得出。在雙三次法的實現(xiàn)中,待插值點的灰度值由(3.2)式計算得出,而(3.2)式中的插值函數(shù)系數(shù)由待插值點最近四點以及右下側(cè)五點共九個點的灰度值帶入含有微分信息的16元1次方程組得出。以上三種方法均通過擴充原圖矩陣邊緣行列數(shù)規(guī)避了坐標(biāo)索引溢出或不為非負(fù)值的問題。4.3 實驗結(jié)果對lena.bmp圖像利用三種插值方法得到如圖2.1所示結(jié)

15、果:圖2.1放大后細(xì)節(jié)表現(xiàn)如圖2.2所示:圖2.2由圖2.2可清楚看到,經(jīng)過最鄰近插值后的圖像產(chǎn)生的“棋盤格”效應(yīng),而后兩種插值方法表現(xiàn)的效果比較平滑,令人滿意。三種方法在實驗中運行的時間分別為:nearest :5.228sbilinear :9.880sbicubic :34.299s可見雙三次插值的時間開銷最大,雙線性其次,最鄰近最小。在MATLAB中也有這三種插值方法的功能函數(shù),且運行時間比以上結(jié)果快得多。原因是自己在實現(xiàn)算法的過程中運用了較多的循環(huán)結(jié)構(gòu),使得在MATLAB的環(huán)境下程序效率低下。5. 把lena和elain圖像分別進行水平shear和旋轉(zhuǎn)30度,并采用用近鄰、雙線性和雙

16、三次插值法zoom到2048*20485.1 實驗原理二維仿射變換是一種二維坐標(biāo)到二維坐標(biāo)之間的線性變換,保持二維圖形的“平直性”和“平行性”仿射變換可以通過一系列的原子變換的復(fù)合來實現(xiàn),包括:平移(Translation)、縮放(Scale)、翻轉(zhuǎn)(Flip)、旋轉(zhuǎn)(Rotation)和錯切(Shear)等。 二維仿射變換可以用一個3×3的矩陣來表示,其最后一行為(0 0 1)。該變換矩陣將原坐標(biāo)(v,w)變換為新坐標(biāo)(x,y)。設(shè)仿射矩陣為T,則新坐標(biāo)與原坐標(biāo)的關(guān)系為: (4.1)對于shear水平變換, (4.2)對于旋轉(zhuǎn)變換, (4.3)5.2 實驗方法依照式(4.1)和(4

17、.2)編寫shear變換功能函數(shù),函數(shù)輸入?yún)?shù)為uint8型圖像矩陣和shear變換系數(shù)a,輸出參數(shù)為shear變換后的uint8型圖像。依照式(4.1)和(4.3)編寫旋轉(zhuǎn)變換功能函數(shù),函數(shù)輸入?yún)?shù)為uint8型圖像矩陣和旋轉(zhuǎn)角度degree,輸出參數(shù)為旋轉(zhuǎn)變換后的uint8型圖像。與shear變換函數(shù)中不同的是,由于變換矩陣T是以圖像原點(即左上角)為旋轉(zhuǎn)中心,若直接運用(4.3)式則會造成部分圖像超出邊界從而缺失,解決方法為將(4.1)式變?yōu)?(4.4)且(4.3)式變?yōu)?(4.5)即可將旋轉(zhuǎn)中心變換到圖像矩陣中心。對仿射變換后的插值處理與4中步驟相同。5.3 實驗結(jié)果對lena.bmp進行shear變換(系數(shù)為0.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論