數(shù)字圖象處理學(xué)生講義.ppt_第1頁(yè)
數(shù)字圖象處理學(xué)生講義.ppt_第2頁(yè)
數(shù)字圖象處理學(xué)生講義.ppt_第3頁(yè)
數(shù)字圖象處理學(xué)生講義.ppt_第4頁(yè)
數(shù)字圖象處理學(xué)生講義.ppt_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

用MATLAB進(jìn)行的數(shù)字圖像處理,目錄,1、對(duì)于數(shù)字圖象處理的基本調(diào)用(二值化、圖像的輸入和圖像的顯示) 2、邊緣檢測(cè)(edge) 3、選擇圖像中的多邊形區(qū)域(roipoly)以及按灰度值選擇區(qū)域(roicolor) 4、roifilt2區(qū)域?yàn)V波、filter2均值濾波、roifill區(qū)域填充 5、FFT變換補(bǔ)零操作和改變圖像的顯示象限 6、圖像腐蝕和膨脹,1、對(duì)于數(shù)字圖象處理的基本調(diào)用,、圖像的輸入(imread) 調(diào)用方法: 找到你要調(diào)用的圖像的路徑和格式,如C:Users11Desktopwuguo.jpg,調(diào)用格式為 I=imread(C:Users11Desktopwuguo.jpg),這樣圖像就會(huì)以rgb矩陣的形式寄存在matlab中,、圖像的輸出(imshow) 對(duì)于你已經(jīng)擁有的二維矩陣,對(duì)其調(diào)用imshow程序進(jìn)行圖像顯示,格式為 imshow(I) 需要注意的是,imshow一般顯示的是unit8格式的矩陣,如果矩陣的規(guī)格是double模式,則需用格式imshow(I,)進(jìn)行顯示,否則容易顯示出一片空白,、圖像的二值化(rbg2gray) 所謂的二值化就是將彩色的圖像轉(zhuǎn)變成黑白雙色的圖像,在圖像處理中是將每個(gè)點(diǎn)的r、b、g數(shù)據(jù)按照一定的加權(quán)運(yùn)算得到,調(diào)用格式為 I1=rgb2gray,關(guān)于對(duì)imread、imshow、rgb2gray調(diào)用的舉例,參考程序?yàn)椋?clear all close all I1 = imread(C:Users11Desktopwuguo.jpg); I=rgb2gray(I1); subplot(1,2,1); imshow(I1); subplot(1,2,2); imshow(I),顯示結(jié)果,圖1 左圖為輸出一般的圖像,右圖為將圖像進(jìn)行灰度化后的顯示結(jié)果,2、邊緣檢測(cè)(edge),所謂的邊緣檢測(cè)是將灰度化后的圖像進(jìn)行亮度檢測(cè),并勾勒出亮度達(dá)到閾值條件的點(diǎn) 調(diào)用格式: BW = edge(I) %比較常用的調(diào)用方式 采用灰度或一個(gè)二值化圖像I作為它的輸入,并返回一個(gè)與I相同大小的二值化圖像BW,在函數(shù)檢測(cè)到邊緣的地方為1,其他地方為0。 BW = edge(I,sobel) 自動(dòng)選擇閾值用Sobel算子進(jìn)行邊緣檢測(cè)。,BW = edge(I,sobel,thresh) 根據(jù)所指定的敏感度閾值thresh,用Sobel算子進(jìn)行邊緣檢測(cè),它忽略了所有小于閾值的邊緣。當(dāng)thresh為空時(shí),自動(dòng)選擇閾值。 BW = edge(I,sobel,thresh,direction) 根據(jù)所指定的敏感度閾值thresh,在所指定的方向direction上,用Sobel 算子進(jìn)行邊緣檢測(cè)。Direction可取的字符串值為horizontal(水平方向)、vertical(垂直方向)或both(兩個(gè)方向)。 BW,thresh = edge(I,sobel,.) 返回閾值,程序舉例: clear all close all I1 = imread(C:Users11Desktopwuguo.jpg); I=rgb2gray(I1); subplot(1,2,1); imshow(I); subplot(1,2,2); J=edge(I); imshow(J);,顯示結(jié)果,圖2、左圖為灰度圖,右圖為邊緣檢測(cè)后顯示的圖形,3、選擇圖像中的多邊形區(qū)域(roipoly)以及按灰度值選擇區(qū)域(roicolor),、選擇圖像中的多邊形區(qū)域(roipoly) roipoly 功能:用于選擇圖像中的多邊形區(qū)域。 用法:BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) BW,xi,yi = roipoly(.) x,y,BW,xi,yi = roipoly(.) BW = roipoly(I,c,r)表示用向量c、r指定多邊形各點(diǎn)的X、Y坐標(biāo)。BW選中的區(qū)域?yàn)?,其他部分的值為0. BW = roipoly(I)表示建立交互式的處理界面。 BW = roipoly(x,y,I,xi,yi)表示向量x和y建立非默認(rèn)的坐標(biāo)系,然后在指定的坐標(biāo)系下選擇由向量xi,yi指定的多邊形區(qū)域。,程序舉例: clc clear filename,pathname,q=uigetfile(*.*;*.bmp;*.jpg;*.png); if q0 lujing=strcat(pathname,filename); I = imread(lujing); figure imshow(I); end p=size(I,3); if p=3 r=I(:,:,1); g=I(:,:,2); b=I(:,:,3); I1=rgb2gray(I);,else I1=I; end hold on x,y,c=ginput(1); m(1)=x; n(1)=y; plot(x,y,r); k=2; while(c=1) x1,y1,c1=ginput(1); if c1=1 m(k)=x1; n(k)=y1; plot(x,y,r); line(m(k-1) m(k),n(k-1) n(k); k=k+1; c=c1; else break end end line(m(k-1) m(1),n(k-1) n(1);,BW = roipoly(I1,m,n); if p=3 r1=double(r).*double(BW); g1=double(g).*double(BW); b1=double(b).*double(BW); i1=cat(3,r1,g1,b1); figure imshow(mat2gray(i1); else i2=double(I1).*double(BW); figure imshow(mat2gray(i2); end,圖3、左圖為顯示輸入的圖像,右圖為經(jīng)過鼠標(biāo)剪切過之后的顯示圖像,顯示結(jié)果:,、roicolor,功能:可以根據(jù)顏色選定區(qū)域。 用法:BW = roicolor(A,low,high) BW = roicolor(A,v) BW = roicolor(A,low,high)色圖范圍為low high,返回這些像素選擇區(qū)域。BW為大小和A相同的數(shù)組,若A中元素值在low high范圍內(nèi),則返回值1,否則返回0. BW = roicolor(A,v)返回圖像A中像素與向量v相匹配的區(qū)域,BW為二值圖像,1值為A中與v相匹配的地方。,程序舉例: clear all close all I1 = imread(C:Users11Desktopwuguo.jpg); I=rgb2gray(I1); J=roicolor(I,5,30); subplot(1,2,1); imshow(I); subplot(1,2,2); imshow(J),結(jié)果顯示:,圖4、左圖為輸入圖像,右圖為對(duì)圖像進(jìn)行灰度區(qū)域選擇產(chǎn)生的圖像,、roifilt2,功能:用于對(duì)一個(gè)區(qū)域進(jìn)行濾波。 用法:J = roifilt2(h,I,BW) J = roifilt2(I,BW,fun) J = roifilt2(I,BW,fun,P1,P2,.) J = roifilt2(h,I,BW)表示使用濾波器h對(duì)圖像I中用二值掩模BW選中的區(qū)域?yàn)V波。BW為和I大小相同的二值圖像。 J = roifilt2(I,BW,fun,P1,P2,.)表示用fun函數(shù)處理區(qū)域?yàn)V波圖像I。參數(shù)P1、P2等為fun函數(shù)的輸入?yún)?shù)。 例子:I = imread(eight.tif); c = 222 272 300 270 221 194; r = 21 21 75 121 121 75; BW = roipoly(I,c,r); h = fspecial(unsharp);,參考程序 I1 = imread(C:Users11Desktopwuguo.jpg); I=rgb2gray(I1); imshow(I); hold on; x,y,c=ginput(1); m(1)=x; n(1)=y; plot(x,y,r); k=2;,while(c=1) x1,y1,c1=ginput(1); if c1=1 m(k)=x1; n(k)=y1; plot(x,y,r); line(m(k-1) m(k),n(k-1) n(k); k=k+1; c=c1; else break end end line(m(k-1) m(1),n(k-1) n(1);,BW = roipoly(I,m,n); h = fspecial(unsharp); %指定濾波器 J = roifilt2(h,I,BW); figure imshow(J)%, figure, imshow(J),結(jié)果展示,、roifill(ROIregion-of-interest),功能:對(duì)指定區(qū)域進(jìn)行填充。 用法:J = roifill(I,c,r) J = roifill(I) J,BW = roifill(.) J = roifill(x,y,I,xi,yi) x,y,J,BW,xi,yi = roifill(.) J = roifill(I,c,r) 填充由向量c,r指定的多邊形,c和r分別為多邊形的各頂點(diǎn)X、Y坐標(biāo)??捎糜诓脸龍D像中的小物體。 J = roifill(I)用于交互式處理界面。 J = roifill(I,BW)用BW(和I大小一致)掩模填充此區(qū)域。如果為多個(gè)多邊形,則分別執(zhí)行插值填充。,參考程序 I1 = imread(C:Users11Desktopwuguo.jpg); I=rgb2gray(I1); imshow(I); hold on; x,y,c=ginput(1); m(1)=x; n(1)=y; plot(x,y,r); k=2;,while(c=1) x1,y1,c1=ginput(1); if c1=1 m(k)=x1; n(k)=y1; plot(x,y,r); line(m(k-1) m(k),n(k-1) n(k); k=k+1; c=c1; else break end end line(m(k-1) m(1),n(k-1) n(1); J=roifill(I,m,n); figure imshow(J),結(jié)果展示:,圖6、左圖為沒填充的圖片,有圖為對(duì)選擇區(qū)域進(jìn)行填充的圖片,filter2:均值濾波,filter2(B,X),B為濾波器.X為要濾波的數(shù)據(jù),這里將B放在X上,一個(gè)一個(gè)移動(dòng)進(jìn)行模板濾波.,clear all close all I1 = imread(C:Users11Desktopwuguo.jpg); I=rgb2gray(I1); subplot(1,2,1); imshow(I); J=filter2(fspecial(unsharp),I); subplot(1,2,2); imshow(J,),顯示結(jié)果:,五、FFT變換補(bǔ)零操作和改變圖像的顯示象限,FFT的補(bǔ)零操作和一維的相似,調(diào)用格式為: F=fft2(f,a,b);其中f為你要變換的圖像矩陣,a、b分別為變換后的行數(shù)和列數(shù),例:有一矩形函數(shù)f(m,n),矩形區(qū)域?yàn)?,其余為0,對(duì)該矩形作傅立葉變換。,clear; N=100; f=zeros(50,50); f(15:35,23:28)=1; subplot(2,1,1) imshow(f) subplot(2,1,2) F=fft2(f); imshow(log(abs(F),對(duì)于fft2的舉例,從上幅圖像中可以看到,直流成分主要集中在右上角,分辨率比較低。通過fftshift函數(shù)提供補(bǔ)零和直流成分顯示區(qū)域調(diào)整后得到調(diào)整以后的結(jié)果如上圖所示。,N=100; f=zeros(50,50); f(15:35,23:28)=1; subplot(2,1,1) imshow(f) F=fft2(f,256,256); F2=fftshift(F); subplot(2,1,2) imshow(log(abs(F2);,fftshift函數(shù)實(shí)現(xiàn)補(bǔ)零操作和改變圖象顯示象限,傅里葉逆變換ifft2,傅里葉逆變換和一維的傅里葉相似,需要注意的是,傅里葉逆變換后會(huì)因?yàn)楦↑c(diǎn)計(jì)算誤差而產(chǎn)生虛數(shù),因此在圖像展示時(shí)可以展示實(shí)部,例如: imshow(abs(F),fftshift改變圖像的顯示象限,clear all close all N=100; f=zeros(50,50); f(15:35,23:28)=1; subplot(2,1,1) imshow(f) F=fft2(f,256,256); F2=fftshift(F); subplot(2,1,2) imshow(log(abs(F2);,六、膨脹與腐蝕,腐蝕:刪除對(duì)象邊界某些像素。 膨脹:給圖像中的對(duì)象邊界添加像素。 在操作中,輸出圖像中所有給定像素的狀態(tài)都是通過對(duì)輸入圖像的相應(yīng)像素及鄰域使用一定的規(guī)則進(jìn)行確定。在膨脹操作時(shí),輸出像素值是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論