圖像處理與分析課程報(bào)告._第1頁(yè)
圖像處理與分析課程報(bào)告._第2頁(yè)
圖像處理與分析課程報(bào)告._第3頁(yè)
圖像處理與分析課程報(bào)告._第4頁(yè)
圖像處理與分析課程報(bào)告._第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、圖像處理與分析課程報(bào)告薛福興圖像處理與分析課程報(bào)告 院(系)名稱計(jì)算機(jī)學(xué)院 專業(yè)班級(jí)191132班 姓名薛福興 學(xué)號(hào)20131000447指 導(dǎo) 老 師徐凱時(shí) 間2015年11月8日 目錄一、簡(jiǎn)單變換31、需求分析:32、程序設(shè)計(jì):32.1、算法基本思想32.2、算法流程圖43、算法主要代碼分析43.1、平移變換43.2、放縮變換44、結(jié)果展示:54.1、平移變換54.2、放縮變換6二、典型灰度映射61、需求分析:62、程序設(shè)計(jì):72.1、算法基本思想72.2、算法流程圖83、算法主要代碼分析93.1、圖像求反93.2、增強(qiáng)對(duì)比度93.3、動(dòng)態(tài)范圍壓縮93.4、灰度切分104、結(jié)果展示:104

2、.1、圖像求反104.2、增強(qiáng)對(duì)比度114.3、動(dòng)態(tài)范圍壓縮114.4、灰度切分12三、圖像的平滑與銳化121、需求分析122、程序設(shè)計(jì)122.1、主要算法基本思想122.2、流程圖132.3、算法的詳細(xì)說(shuō)明133、主要的實(shí)現(xiàn)代碼144、結(jié)果展示16四、用戶手冊(cè)20五、參考文獻(xiàn)20六、心得體會(huì)20一、簡(jiǎn)單變換1、需求分析:基本幾何變換的定義:對(duì)于原圖象f(x,y),坐標(biāo)變換函數(shù)x = a(x,y); y = b(x,y)唯一確定了幾何變換:g(x,y) = f(a(x,y), b(x,y),其中g(shù)(x,y)是目標(biāo)圖象。圖像的平移和放縮變換都是常見(jiàn)的圖像坐標(biāo)變換??臻g中一個(gè)點(diǎn)的坐標(biāo)可記為(x,y

3、,z),如用齊次坐標(biāo),則記為(x,y,z,1)。他們也可以用矢量來(lái)表達(dá)。2、程序設(shè)計(jì):2.1、算法基本思想2.1.1、平移變換設(shè)需要平移量(x0,y0)將具有坐標(biāo)(x,y)的點(diǎn)平移到新的位置(x2,y2)設(shè): a(x,y) = x + x0; b(x,y) = y + y0;用齊次矩陣表示:a(x,y)1 0 x0 xb(x,y)=0 1 y0 y1 0 0 1 12.1.2、放縮變換放縮變換改變點(diǎn)間的距離,對(duì)物體來(lái)說(shuō)則改變了物體的尺度,所以放縮變換也稱為尺度變換,放縮變換一般是沿坐標(biāo)方向進(jìn)行的,或可分解為沿坐標(biāo)軸方向進(jìn)行的變換。當(dāng)分別用設(shè): a(x,y) = x*c; b(x,y) = y*

4、d;沿x,y軸進(jìn)行放縮變換時(shí),放縮變換矩陣可寫為:a(x,y)c 0 0 xb(x,y)=0 d 0 y1 0 0 1 12.2、算法流程圖程序開(kāi)始載入圖片將圖片讀入內(nèi)存A 平移變換B 放縮變換顯示圖片選擇一種變換程序結(jié)束3、算法主要代碼分析3.1、平移變換/彈出對(duì)話框Input_Move dlg;dlg.DoModal();UpdateData(true);/將用戶輸入的數(shù)據(jù)進(jìn)行平移變換mdr->write_video(image_wid+dlg.level, dlg.vertical, image_wid, image_hei, image);mdr->swap();3.2、放

5、縮變換/彈出對(duì)話框SHRINK change;change.DoModal();UpdateData(true);/對(duì)dx,dy進(jìn)行放縮變換int dx = image_wid * change.shrink, dy = image_hei * change.shrink;UINT *buf;if (image = NULL) return;/創(chuàng)建動(dòng)態(tài)數(shù)組buf = new UINTdx*dy;/進(jìn)行放縮變換image_scale(image_wid, image_hei, image, dx, dy, buf);/將圖片讀出mdr->write_video(image_wid, 0,

6、dx, dy, buf);mdr->swap();4、結(jié)果展示:4.1、平移變換4.2、放縮變換二、典型灰度映射1、需求分析:圖像是由像素組成的,其視覺(jué)效果與每個(gè)像素的灰度相關(guān)。如果能改變所有或部分像素的灰度,就可以改變圖像的視覺(jué)效果。直接灰度映射是一種點(diǎn)操作,即根據(jù)原始圖像中每個(gè)像素的灰度值,按照某種映射規(guī)則,將其轉(zhuǎn)化為另一灰度值。這樣通過(guò)對(duì)原始圖像中每一個(gè)像素賦一個(gè)新的灰度值來(lái)達(dá)到增強(qiáng)圖像的目的。2、程序設(shè)計(jì):2.1、算法基本思想2.1.1、圖像求反對(duì)圖像求反是將原圖灰度值翻轉(zhuǎn),簡(jiǎn)單來(lái)說(shuō)就是使黑變白,使白變黑。將圖像中每個(gè)像素的灰度值根據(jù)變換曲線進(jìn)行映射。映射是一一對(duì)應(yīng)的,所以只要讀

7、出原灰度值,變換后得到新灰度值,并賦給原像素。L-1L-102.1.2、增強(qiáng)對(duì)比度增強(qiáng)對(duì)比度實(shí)際上是增強(qiáng)原圖的各部分反差。實(shí)際中往往通過(guò)增加原圖里某兩個(gè)灰度值間的動(dòng)態(tài)范圍來(lái)實(shí)現(xiàn),s1,s2,t1,t2可取不同的值進(jìn)行組合,從而得到不同的效果,如果s1=s2,t1=0,t2=L-1,則增強(qiáng)圖只剩下兩個(gè)灰度級(jí),對(duì)比度最大但細(xì)節(jié)全丟失。L-1L-102.1.3、動(dòng)態(tài)范圍壓縮該方法的目標(biāo)與增強(qiáng)對(duì)比度相反。有時(shí)原圖的動(dòng)態(tài)范圍太大,超出了某些顯示設(shè)備的允許動(dòng)態(tài)范圍,這時(shí)如直接使用原圖,則一部分細(xì)節(jié)可能丟失。解決辦法就是對(duì)原圖進(jìn)行灰度壓縮。一種常用的壓縮方法是借助對(duì)數(shù)形式t=Clog(1+|s|),其中C為

8、尺度比例常數(shù)。L-1L-102.1.4、灰度切分其目的與增強(qiáng)對(duì)比度相仿,是要將某個(gè)灰度值范圍變得比較突出。L-1L-10程序開(kāi)始載入圖片將圖片讀入內(nèi)存A 圖像求反B 增強(qiáng)對(duì)比度C 動(dòng)態(tài)范圍壓縮D 灰度切分顯示圖片選擇一種典型映射程序結(jié)束2.2、算法流程圖3、算法主要代碼分析3.1、圖像求反for (int i = 0; i < image_wid; i+)for (int j = 0; j < image_hei; j+)bufi*image_hei + j =0xffffffff -new_bufi*image_hei + j;3.2、增強(qiáng)對(duì)比度f(wàn)or (int i = 0; i

9、 < image_wid; i+)for (int j = 0; j < image_hei; j+)int B = (new_bufi*image_hei + j & 0x00ff0000) >> 16;if (B <= s1)B = (int)(k1*B);/若B小于s1,則將B帶入直線1中else if (B <= s2)B = (int)(k2*B + b2);/若s1<B<=s2,則將B帶入直線2中elseB = (int)(k3*B + b3);/若B>s2,則將B帶入直線3中3.3、動(dòng)態(tài)范圍壓縮for (int i =

10、 0; i < image_hei; i+)for (int j = 0; j < image_wid; j+)int B = (new_bufi*image_wid + j & 0x00ff0000) >> 16;B = (int)(45.98 * log(1 + abs(B);bufi*image_hei + j = (0xff000000 & new_bufi*image_hei + j) + (0x000000ff & B) + (0x0000ff00 & (B << 8) + (0x00ff0000 & (B

11、 << 16);3.4、灰度切分for (int i = 0; i < image_wid; i+)for (int j = 0; j < image_hei; j+)int B = (new_bufi*image_hei + j & 0x00ff0000) >> 16;/將RGB中的B取出if (B <= s1)B = t1;/若B小于s1,則將t1賦值else if (B <= s2)B = t2;/若s1<B<=s2,則將t2賦值elseB = t1;/若B>s2,則將t1賦值4、結(jié)果展示:4.1、圖像求反4.2、

12、增強(qiáng)對(duì)比度4.3、動(dòng)態(tài)范圍壓縮4.4、灰度切分三、圖像的平滑與銳化1、需求分析打開(kāi)一幅位圖,按照不同的模板將位圖信息以平滑與銳化的方式處理,并顯示出來(lái)。2、程序設(shè)計(jì)2.1、主要算法基本思想平滑濾波能減弱或消除圖像中的高頻率分量,但不影響低頻率分量,在實(shí)際應(yīng)用中,平滑濾波還可用于消除噪聲(噪聲的空間相關(guān)性較弱,對(duì)應(yīng)較高的空間頻率),或在提取較大的目標(biāo)前去除太小的細(xì)節(jié)或?qū)⒛繕?biāo)內(nèi)的小間斷連接起來(lái)。銳化濾波能減少或消除圖像中的低頻率分量,但不影響高頻率分量。銳化濾波將這些分量濾去可使圖片反差增加,邊緣明顯。實(shí)際中,銳化可用于增強(qiáng)被模糊的細(xì)節(jié)或目標(biāo)的邊緣。首先需要將任意格式位圖從外存中讀入內(nèi)存,將圖片格

13、式轉(zhuǎn)換為8位位圖,將其顯示在屏幕上;將內(nèi)存中的圖片與不同模板作卷積運(yùn)算,將運(yùn)算后的圖片顯示在屏幕上。 2.2、流程圖程序開(kāi)始打開(kāi)圖像將圖片信息讀入內(nèi)存程序結(jié)束選擇一種模運(yùn)算a 平滑模板b 中值濾波模板c 銳化模板顯示圖片2.3、算法的詳細(xì)說(shuō)明2.3.1、模板卷積模板運(yùn)算的基本思路是將賦予某個(gè)像素的值作為它本身灰度值和其相鄰像素灰度值的函數(shù)。模板可以看作一幅尺寸為N×N(N一般為奇數(shù),遠(yuǎn)小于常見(jiàn)圖像尺寸)的小圖像。當(dāng)N為奇數(shù)時(shí),可以定義模板的半徑r為(N-1)/2。模板卷積在空域?qū)崿F(xiàn)的主要步驟為:a將模板在圖中漫游,并將模板中心與圖中某個(gè)像素位置重合;b將模板上的各個(gè)系數(shù)與模板下各對(duì)應(yīng)

14、像素的灰度值相乘;c將所有乘積相加(為保持灰度范圍,常對(duì)結(jié)果再除以模板的系數(shù)個(gè) 數(shù));d 將上述運(yùn)算結(jié)果(模板的輸出響應(yīng))賦予圖中對(duì)應(yīng)模板中心位置的 像素。2.3.2模板介紹1、平滑模板是各個(gè)系數(shù)相等,不妨設(shè)為一,設(shè)模板尺寸為M,M=2r+1,r為模板半徑,這給定像素序列,i=1,2,N,則均值濾波輸出為:式中M為模板系數(shù)個(gè)數(shù),即對(duì)模板對(duì)應(yīng)像素求平均值。當(dāng)模板尺寸增大時(shí),對(duì)噪聲的消除效果有所增強(qiáng)。不過(guò)同時(shí)所得到的圖像變得更模糊,可視的細(xì)節(jié)逐步減少。2、中值濾波是一種非線性濾波方式。設(shè)模板尺寸為M,M=2r+1,r為模板半徑,這給定像素序列,i=1,2,N,則中值濾波輸出為:式中median代表

15、取中值,即對(duì)模板覆蓋的信號(hào)序列按數(shù)值大小進(jìn)行排序,并取排序后處在中間位置的值,且有1。3、銳化是是通過(guò)增強(qiáng)高頻分量來(lái)減少圖象中的模糊,因此又稱為高通濾波(high pass filter)。銳化處理在增強(qiáng)圖象邊緣的同時(shí)增加了圖象的噪聲。常用的銳化模板是拉普拉斯(Laplacian)模板:4、拉普拉斯模板的含義,先將自身與周圍的8個(gè)像素相減,表示自身與周圍像素的差別,再將這個(gè)差別加上自身作為新像素的灰度??梢?jiàn),如果一片暗區(qū)出現(xiàn)了一個(gè)亮點(diǎn),那么銳化處理的結(jié)果是這個(gè)亮點(diǎn)變得更亮,增加了圖象的噪聲。3、主要的實(shí)現(xiàn)代碼(1)平滑3×3模板的主要代碼: for (i = 1; i<imag

16、e_hei-1; i+)for (j = 1; j<image_wid-1; j+)temp = pi*wi + j * 4 + pi*wi + j * 4 - 4 + pi*wi + j * 4 + 4+ pi*wi + j * 4 - wi + pi*wi + j * 4 - wi - 4 + pi*wi + j * 4 - wi + 4+ pi*wi + j * 4 + wi + pi*wi + j * 4 + wi - 4 + pi*wi + j * 4 + wi + 4;qi*wi + j * 4 = qi*wi + j * 4 + 1 = qi*wi + j * 4 + 2

17、= temp / 9;qi*wi + j * 4 + 3 = 255;(2)平滑5×5模板的主要代碼: for (i = 2; i<image_hei - 1; i+)for (j = 2; j<image_wid - 1; j+)temp = pi*wi + j * 4 + pi*wi + j * 4 - 4 + pi*wi + j * 4 - 8 + pi*wi + j * 4 + 4 + pi*wi + j * 4 + 8/3+ pi*wi + j * 4 - wi + pi*wi + j * 4 - wi - 4 + pi*wi + j * 4 - wi - 8

18、+ pi*wi + j * 4 - wi + 4 + pi*wi + j * 4 - wi + 8/2+ pi*wi + j * 4 + wi + pi*wi + j * 4 + wi - 4 + pi*wi + j * 4 + wi - 8 + pi*wi + j * 4 + wi + 4 + pi*wi + j * 4 + wi + 8/4+ pi*wi + j * 4 - wi * 2 + pi*wi + j * 4 - wi * 2 - 4 + pi*wi + j * 4 - wi * 2 - 8 + pi*wi + j * 4 - wi * 2 + 4 + pi*wi + j * 4

19、 - wi * 2 + 8/1+ pi*wi + j * 4 + wi * 2 + pi*wi + j * 4 + wi * 2 - 4 + pi*wi + j * 4 + wi * 2 - 8 + pi*wi + j * 4 + wi * 2 + 4 + pi*wi + j * 4 + wi * 2 + 8;/5qi*wi + j * 4 = qi*wi + j * 4 + 1 = qi*wi + j * 4 + 2 = temp / 25;qi*wi + j * 4 + 3 = 255;(3)中值濾波3×3主要代碼: for (i = 1; i<image_hei - 1;

20、 i+)for (j = 1; j<image_wid - 1; j+)/模板內(nèi)temp0 = pi*wi + j * 4;temp1 = pi*wi + j * 4 - 4;temp2 = pi*wi + j * 4 + 4;temp3 = pi*wi + j * 4 - wi;temp4 = pi*wi + j * 4 - wi - 4;temp5 = pi*wi + j * 4 - wi + 4;temp6 = pi*wi + j * 4 + wi;temp7 = pi*wi + j * 4 + wi - 4;temp8 = pi*wi + j * 4 + wi + 4;qi*wi

21、 + j * 4 = qi*wi + j * 4 + 1 = qi*wi + j * 4 + 2 = Order_33(temp);qi*wi + j * 4 + 3 = 255;/模板內(nèi)(3)中值濾波5×5主要代碼: for (i = 2; i<image_hei - 1; i+)for (j = 2; j<image_wid - 1; j+)temp0 = pi*wi + j * 4;temp1 = pi*wi + j * 4 - 4;temp2 = pi*wi + j * 4 - 8;temp3 = pi*wi + j * 4 + 4;temp4 = pi*wi +

22、 j * 4 + 8;temp5 = pi*wi + j * 4 - wi;temp6 = pi*wi + j * 4 - wi - 4;temp7 = pi*wi + j * 4 - wi - 8;temp8 = pi*wi + j * 4 - wi + 4;temp9 = pi*wi + j * 4 - wi + 8;temp10 = pi*wi + j * 4 + wi;temp11 = pi*wi + j * 4 + wi - 4;temp12 = pi*wi + j * 4 + wi - 8;temp13 = pi*wi + j * 4 + wi + 4;temp14 = pi*wi

23、 + j * 4 + wi + 8;temp15 = pi*wi + j * 4 - wi * 2;temp16 = pi*wi + j * 4 - wi * 2 - 4;temp17 = pi*wi + j * 4 - wi * 2 - 8;temp18 = pi*wi + j * 4 - wi * 2 + 4;temp19 = pi*wi + j * 4 - wi * 2 + 8;temp20 = pi*wi + j * 4 + wi * 2;temp21 = pi*wi + j * 4 + wi * 2 - 4;temp22 = pi*wi + j * 4 + wi * 2 - 8;te

24、mp23 = pi*wi + j * 4 + wi * 2 + 4;temp24 = pi*wi + j * 4 + wi * 2 + 8;qi*wi + j * 4 = qi*wi + j * 4 + 1 = qi*wi + j * 4 + 2 = Order_55(temp);qi*wi + j * 4 + 3 = 255;(4)銳化拉普拉斯模板的主要代碼: for (i = 1; i<image_hei; i+)for (j = 1; j<image_wid; j+)temp = 9 * pi*wi + j * 4 - pi*wi + j * 4 - 4 - pi*wi +

25、j * 4 + 4- pi*wi + j * 4 - wi - pi*wi + j * 4 - wi - 4 - pi*wi + j * 4 - wi + 4- pi*wi + j * 4 + wi - pi*wi + j * 4 + wi - 4 - pi*wi + j * 4 + wi + 4; /拉普拉斯算子1if (temp > 255)temp = 255;if (temp < 0)temp = 0;qi*wi + j * 4 = qi*wi + j * 4 + 1 = qi*wi + j * 4 + 2 = temp;qi*wi + j * 4 + 3 = 255;4、結(jié)果展示(1)平滑3×3模板(2)平滑5×5模板(3)中值濾波3×3(4)中值濾波5&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論