第4章-數(shù)字圖像運算-MATLAB-數(shù)字圖像處理課件_第1頁
第4章-數(shù)字圖像運算-MATLAB-數(shù)字圖像處理課件_第2頁
第4章-數(shù)字圖像運算-MATLAB-數(shù)字圖像處理課件_第3頁
第4章-數(shù)字圖像運算-MATLAB-數(shù)字圖像處理課件_第4頁
第4章-數(shù)字圖像運算-MATLAB-數(shù)字圖像處理課件_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章數(shù)字圖像運算4.1點運算4.2代數(shù)運算4.3圖像邏輯運算4.4圖像的幾何運算4.5空間變換目錄4.6鄰域與塊操作4.1點運算在圖像處理中,點運算是一種簡單而又很重要的技術。對于一幅輸入圖像,若輸出圖像的每個像素點的灰度值由輸入像素來決定,則這樣的圖像變換稱為圖像的點運算。點運算的結果由灰度變換函數(shù)確定,即:

式中,是運算前的圖像像素值;是點運算后的圖像值;?是對的一種映射函數(shù),即GST函數(shù)。4.1.1線性點運算在線性點運算中,灰度變換函數(shù)在數(shù)學上就是線性函數(shù)。當a>1時,輸出圖像對比度增大;當a<1時,輸出圖像對比度降低;當a=1,b≠0時,僅使輸出圖像的灰度值上移或下移,其效果是使整個圖像更亮或更暗?!纠?-1】對lean.png圖像進行線性點運算。(d)對比度減?。╡)圖像求補運算(a)原始圖像(b)灰度值增大(c)對比度增大4.1.2非線性點運算在某些情況下,如在顯示圖像的傅里葉頻譜時,其動態(tài)范圍遠遠超過顯示設備的顯示能力,此時顯示圖像相對于原圖像就會存在失真。要消除這種因動態(tài)范圍而引起的失真,往往需要對圖像進行非線性點運算?!纠?-2】用函數(shù)對lean圖像進行非線性變換。(a)原始圖像(b)函數(shù)的曲線圖(c)非線性處理效果4.2代數(shù)運算4.2.1代數(shù)運算的異常處理常見的異常情況有以下兩種。計算結果溢出。計算結果類型無效。異常計算結果的修正遵循以下兩個原則:超過整數(shù)類型有效范圍的結果,截斷到限定范圍的端點值。對于分數(shù)計算結果采取四舍五入。4.2.2圖像加法運算imadd函數(shù)將某一幅輸入圖像的每一個像素值與另一幅圖像相應的像素值相加,返回相應的像素值之和作為輸出圖像。其調用格式為:Z=imadd(X,Y)。將X、Y數(shù)組中的對應元素相加,返回值Z和X、Y大小一致;如果Y為標量,則對X數(shù)組中每個元素相加這個標量。類似矩陣的加法運算,但要注意類型的處理。【例4-4】將一幅圖像分別與另一幅圖像、一個常數(shù)進行相加運算。(c)兩幅圖像疊加效果(d)與常數(shù)45相加(a)原始rice.png圖像(b)原始cameraman.tif圖像噪聲添加函數(shù)imnoise,以便于模擬噪聲信息。使用這個函數(shù)時,也相當于進行圖像加法運算。其調用格式為:J=imnoise(I,type)?!纠?-5】利用imnoise函數(shù)對噪聲進行相加運算。原始圖像添加高斯噪聲圖像疊加后圖像4.2.3圖像減法運算imsubtract函數(shù)用于將一幅圖像從另一幅圖像中減去,或從一幅圖像中減去一個常數(shù)。imsubtract函數(shù)將一幅輸入圖像的像素值從另一幅輸入圖像相應的像素值中減去,再將相應的像素值之差作為輸出圖像相應的像素值。其調用格式為:Z=imsubtract(X,Y)。Z為輸入圖像X與輸入圖像Y相減的結果。減法操作有時會導致某些像素值變?yōu)橐粋€負數(shù),此時該函數(shù)自動將這些負數(shù)截取為0?!纠?-7】將一幅圖像分別與另一幅圖像、一個常數(shù)進行相減運算。原始rice.png圖像背景圖像兩圖像相減效果圖像減一個常數(shù)后的結果4.2.4圖像乘法運算immultiply函數(shù)實現(xiàn)兩幅圖像的乘法。immultiply函數(shù)將兩幅圖像相應的像素值進行元素對元素的簡捷運算。并將乘法運算結果作為輸出圖像相應的像素值。其調用格式為:Z=immultiply(X,Y)。運算過程為Z=X*Y?!纠?-8】對一個圖像分別進行自乘及與一個常數(shù)相乘?!纠?-8】對一個圖像分別進行自乘及與一個常數(shù)相乘。(a)原始圖像(b)圖像自乘效果(c)圖像與常數(shù)相乘4.2.5圖像除法運算imdivide函數(shù)用于實現(xiàn)兩幅圖像的除法。imdivide函數(shù)對兩幅輸入圖像的所有相應像素執(zhí)行元素對元素的除法操作(點除),并將得到的結果作為輸出圖像的相應像素值。其調用格式為:Z=imdivide(X,Y)。運算過程為Z=X/Y。【例4-9】將兩個數(shù)據(jù)類型為uint8的數(shù)組相除。【例4-10】將圖像分別與其背景及一個常數(shù)進行相除。原始圖像圖像與背景相除運算圖像與常數(shù)相除運算4.2.6絕對值差運算imabsdiff函數(shù)用于計算兩幅圖像的絕對值差。其調用格式為:Z=imabsdiff(X,Y)。將相同類型、相同長度的數(shù)組X與Y的對應位分別做減法,返回的結果是每一位差的絕對值,即返回的數(shù)組Z應該和X、Y的類型相同。如果X、Y為整數(shù)數(shù)組,那么結果中超過整數(shù)類型范圍的部分將被截去;如果X、Y為浮點數(shù)組,用戶也可以用基本運算abs(X-Y)來代替這個函數(shù)?!纠?-11】計算兩個uint8數(shù)組的絕對值差?!纠?-12】對圖像進行高斯低通濾波,然后與原圖像進行絕對值差運算。4.2.7線性組合運算imlincomb函數(shù)用于實現(xiàn)線性組合運算。其調用格式為:(1)Z=imlincomb(K1,A1,K2,A2,...,Kn,An)(2)Z=imlincomb(K1,A1,K2,A2,...,Kn,An,K)(3)Z=imlincomb(...,output_class):【例4-14】對圖像進行線性組合運算。4.2.8圖像求補運算imcomplement函數(shù)用于進行圖像求補運算。其調用格式為:IM2=imcomplement(IM)。IM2與IM具有相同的維數(shù)和數(shù)據(jù)類型。當對二值圖像求補時,0變?yōu)?,1變?yōu)?,即實現(xiàn)黑、白色的互換;當IM為灰度圖像或彩色圖像時,每個像素值與該類型支持的最大值相減,輸出差值?!纠?-15】對一個uint8數(shù)組進行求補運算?!纠?-16】對圖像進行求補運算。4.3圖像邏輯運算邏輯運算不僅關注圖像像素點的數(shù)值變換,更注重位變換的情況?!纠?-17】圖像的邏輯運算。4.4圖像的幾何運算4.4.1圖像的縮放imresize函數(shù)用于對圖像進行縮放操作。其調用格式為:(1)B=imresize(A,scale)(2)B=imresize(A,[numrowsnumcols])(3)[Ynewmap]=imresize(X,map,scale)(4)[...]=imresize(...,method)(5)[...]=imresize(...,parameter,value,...)【例4-18】對圖像進行縮放處理。4.4.2圖像的旋轉imrotate函數(shù)用來對圖像進行旋轉。調用格式為:(1)B=imrotate(A,angle)(2)B=imrotate(A,angle,method)(3)B=imrotate(A,angle,method,bbox)【例4-19】將一幅太陽譜圖像進行旋轉。(a)原始圖像(b)旋轉后圖像4.4.3圖像的剪切imcrop函數(shù)用于實現(xiàn)圖像的剪切。其調用格式為:(1)I2=imcrop(2)I2=imcrop(I)、X2=imcrop(X,map)(3)I2=imcrop(I,rect)、X2=imcrop(X,map,rect)

(4)[...]=imcrop(x,y,...)(5)[I2rect]=imcrop(…)或[X,Y,I2,rect]=imcrop(…)【例4-20】對圖像進行剪切處理。4.4.4圖像的平移【例4-21】將一幅圖像向右下方移動。4.4.5圖像的鏡像鏡像包括水平鏡像、垂直鏡像和對角鏡像3種?!纠?-22】對圖像進行鏡像變換。4.5空間變換4.5.1仿射變換仿射變換可以理解為:(1)對坐標進行縮放、旋轉、平移后取得新坐標的值;(2)經(jīng)過對坐標的縮放、旋轉、平移后原坐標在新坐標領域中的值。已知仿射變換形式為:式中,A為變形矩陣;b為平移矢量。在二維空間中,A可以按如下的4個步驟分解:尺度、伸縮、扭曲、旋轉。仿射變換流程圖4.5.2投影變換maketform函數(shù)用于創(chuàng)建空間變換結構。調用格式:(1)T=maketform(transformtype,...)(2)T=maketform('affine',A)(3)T=maketform('affine',U,X)(4)T=maketform('projective',A)(5)T=maketform('projective',U,X)(6)T=maketform('custom',NDIMS_IN,NDIMS_OUT,FORWARD_FCN,INVERSE_FCN,TDATA)(7)T=maketform('box',tsize,LOW,HIGH)(8)T=maketform('box',INBOUNDS,OUTBOUNDS)(9)T=maketform('composite',T1,T2,...,TL)(10)T=maketform('composite',[T1T2...TL])imtransform函數(shù)用于實現(xiàn)圖像空間變換。其調用格式為:(1)B=imtransform(A,tform)(2)B=imtransform(A,tform,interp)(3)[B,xdata,ydata]=imtransform(...)(4)[B,xdata,ydata]=imtransform(...,Name,Value)【例4-24】通過對建立的棋盤圖像指定不同插值進行空間變換。原始圖像最近鄰插值雙線性插值法立方插值法【例4-25】利用imtransform函數(shù)對圖像用轉換到的變換結構進行圖像空間變換。(a)原始圖像(b)變換結構(c)空間變換【例4-26】利用imtransform函數(shù)對圖像進行投影變換。4.5.3幾何配準在圖像獲取或顯示過程中往往會遇到幾何失真。圖像幾何畸變校正的思路是通過一些已知的參考點,即無失真圖像某些像素點和畸變圖像相應像素的坐標間對應關系,擬合出上述多項式中的系數(shù),并作為恢復其他像素的依據(jù)。對每一對坐標(u,v)進行T變換得到畸變圖像坐標(x,y),如果這一坐標正好落在畸變圖像的坐標點上,則原圖像(u,v)的灰度值就為畸變圖像相應點上的灰度值;如果這一坐標沒落在網(wǎng)格點上,就需要進行內(nèi)插;而坐標落在畸變圖像的外邊時,則只能用最靠近它的圖像像素點代替?!纠?-27】利用imtransform函數(shù)對遙感圖像進行配準。原始遙感圖像1原始遙感圖像2圖像配準4.6鄰域與塊操作4.6.1滑動鄰域操作輸出圖像的每個像素值都是由對應的輸入像素及其某個鄰域內(nèi)的像素共同決定的,這種圖像運算稱為鄰域運算。鄰域運算與點運算一起形成了最基本、最重要的圖像處理方法,尤其是滑動鄰域操作,經(jīng)常被用于圖像的線性濾波和二值形態(tài)操作。通常,對于m×n的邊緣來說,中心像素的計算方法:floor([(m+1n+1)]/2)。MATLAB進行邊緣操作的過程如下:(1)選擇像素。(2)確定該像素的邊緣塊。(3)調用適當?shù)暮瘮?shù)對邊緣中的元素進行操作。(4)查找對應于輸出圖像中心像素的像素點。(5)對于輸入圖像中的每個像素點,重復1~4的操作。nlfilter函數(shù)用于實現(xiàn)滑動鄰域的移動操作,并把待處理圖像、鄰域大小和一個處理函數(shù)(返回值為標量)作為參數(shù),返回與輸入圖像大小相同的圖像作為輸出結果。其調用格式為:(1)B=nlfilter(A,[mn],fun)(2)B=nlfilter(A,'indexed',...)【例4-28】利用nlfilter函數(shù)對圖像進行滑動處理。(a)原始圖像(b)滑動處理后圖像4.6.2非重疊塊處理blkproc函數(shù)用于非重疊圖像塊操作。其調用格式為:(1)B=blkproc(A,[m,n],fun)(2)B=blkproc(A,[m,n],[mborder,nborder],fun)(3)B=blkproc(A,'indexed',...):【例4-29】計算一個圖像二維DCT的8×8劃分塊處理。原始圖像處理函數(shù)為dct2塊處理處理函數(shù)為匿名函數(shù)【例4-30】計算圖像的局部標準差。4.6.3快速塊處理colfilt函數(shù)用于實現(xiàn)圖像的快速鄰域操作。其調用格式為:(1)B=colfilt(A,[mn],block_type,fun)(2)B=colfilt(A,[mn],[mblocknblock],block_type,fun)(3)B=colfilt(A,'indexed',...)【例4-31】對圖像進行滑動平均、最大值和最小值處理。原始圖像滑動平均處理滑動最大值處理滑動最小值處理【例4-32】利用colfilt函數(shù)把輸入圖像8×8的圖像塊的均值賦予圖像塊中的所有元素,并使用@符號指定函數(shù)句柄。原始圖像處理函數(shù)為mean處理函數(shù)為max處理函數(shù)為min4.6.4塊操作的其他函數(shù)1.bestblk函數(shù)bestblk函數(shù)用于選擇圖像塊的尺寸。調用格式:(1)siz=bestblk([mn],k)(2)[mb,nb]=bestblk([mn],k)2.im2col函數(shù)im2col函數(shù)可將圖像塊排列成向量。調用格式:(1)B=im2col(A,[mn],block_type)(2)B=im2col(A,'indexed',...)4.6.5特殊區(qū)域處理1.roipoly函數(shù)roipoly函數(shù)用于設定圖像中的多邊形區(qū)域。其調用格式為:(1)BW=roipoly或BW=roipoly(I)(2)BW=roipoly(I,c,r)(3)BW=roipoly(x,y,I,xi,yi)(4)[BW,xi,yi]=roipoly(...)(5)[x,y,BW,xi,yi]=roipoly(...)【例4-35】利用roipoly函數(shù)對圖形進行多邊形區(qū)域選擇。(a)原始圖像(b)選擇多邊形區(qū)域2.roicolor函數(shù)roicolor函數(shù)用于按灰度選擇區(qū)域。調用格式:(1)BW=roicolor(A,low,high)色圖范圍為[lowhigh],返回這些像素選擇區(qū)域。(2)BW=(A>=low)&(A<=high)其中,BW為內(nèi)部區(qū)域值為1,外邊為0值的矩陣。(3)BW=roicolor(A,v)返回A中像素與向量v相匹配的區(qū)域,BW為二值圖像。如果A中像素值在向量v中存在則返回1,否則返回0?!纠?-36】根據(jù)灰度選擇圖像區(qū)域。原始圖像灰度選擇區(qū)域3.poly2mask函數(shù)使用函數(shù)poly

溫馨提示

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

最新文檔

評論

0/150

提交評論