數(shù)字圖像處理源代碼_第1頁
數(shù)字圖像處理源代碼_第2頁
數(shù)字圖像處理源代碼_第3頁
數(shù)字圖像處理源代碼_第4頁
數(shù)字圖像處理源代碼_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字圖像去噪典型算法及matlab實現(xiàn)希望得到大家的指點和幫助圖像去噪是數(shù)字圖像處理中的重要環(huán)節(jié)和步驟。去噪效果的好壞直接影響到后續(xù)的圖像處理工作如圖像分割、邊緣檢測等。圖像信號在產(chǎn)生、傳輸過程中都可能會受到噪聲的污染,一般數(shù)字圖像系統(tǒng)中的常見噪聲主要有:高斯噪聲(主要由阻性元器件內(nèi)部產(chǎn)生)、椒鹽噪聲(主要是圖像切割引起的黑圖像上的白點噪聲或光電轉(zhuǎn)換過程中產(chǎn)生的泊松噪聲)等;目前比較經(jīng)典的圖像去噪算法主要有以下三種:均值濾波算法:也稱線性濾波,主要思想為鄰域平均法,即用幾個像素灰度的平均值來代替每個像素的灰度。有效抑制加性噪聲,但容易引起圖像模糊,可以對其進行改進,主要避開對景物邊緣的平滑處理

2、。中值濾波:基于排序統(tǒng)計理論的一種能有效抑制噪聲的非線性平滑濾波信號處理技術(shù)。中值濾波的特點即是首先確定一個以某個像素為中心點的鄰域,一般為方形鄰域,也可以為圓形、十字形等等,然后將鄰域中各像素的灰度值排序,取其中間值作為中心像素灰度的新值,這里領(lǐng)域被稱為窗口,當(dāng)窗口移動時,利用中值濾波可以對圖像進行平滑處理。其算法簡單,時間復(fù)雜度低,但其對點、線和尖頂多的圖像不宜采用中值濾波。很容易自適應(yīng)化。Wiener維納濾波:使原始圖像和其恢復(fù)圖像之間的均方誤差最小的復(fù)原方法,是一種自適應(yīng)濾波器,根據(jù)局部方差來調(diào)整濾波器效果。對于去除高斯噪聲效果明顯。實驗一:均值濾波對高斯噪聲的效果I=imread(C

3、:Documents and SettingsAdministrator桌面1.gif);%讀取圖像 J=imnoise(I,gaussian,0,0.005);%加入均值為0,方差為0.005的高斯噪聲 subplot(2,3,1);imshow(I); title(原始圖像); subplot(2,3,2); imshow(J); title(加入高斯噪聲之后的圖像); %采用MATLAB中的函數(shù)filter2對受噪聲干擾的圖像進行均值濾波 K1=filter2(fspecial(average,3),J)/255; %模板尺寸為3 K2=filter2(fspecial(average,

4、5),J)/255;% 模板尺寸為5 K3=filter2(fspecial(average,7),J)/255; %模板尺寸為7 K4= filter2(fspecial(average,9),J)/255; %模板尺寸為9 subplot(2,3,3);imshow(K1); title(改進后的圖像1); subplot(2,3,4); imshow(K2); title(改進后的圖像2); subplot(2,3,5);imshow(K3); title(改進后的圖像3); subplot(2,3,6);imshow(K4); title(改進后的圖像4); PS:filter2用法:

5、filter2用法fspecial函數(shù)用于創(chuàng)建預(yù)定義的濾波算子,其語法格式為:h = fspecial(type)h = fspecial(type,parameters)參數(shù)type制定算子類型,parameters指定相應(yīng)的參數(shù),具體格式為:type=average,為均值濾波,參數(shù)為n,代表模版尺寸,用向量表示,默認(rèn)值為3,3。type= gaussian,為高斯低通濾波器,參數(shù)有兩個,n表示模版尺寸,默認(rèn)值為3,3,sigma表示濾波器的標(biāo)準(zhǔn)差,單位為像素,默認(rèn)值為0.5。type= laplacian,為拉普拉斯算子,參數(shù)為alpha,用于控制拉普拉斯算子的形狀,取值范圍為0,1,默

6、認(rèn)值為0.2。type= log,為拉普拉斯高斯算子,參數(shù)有兩個,n表示模版尺寸,默認(rèn)值為3,3,sigma為濾波器的標(biāo)準(zhǔn)差,單位為像素,默認(rèn)值為0.5type= prewitt,為prewitt算子,用于邊緣增強,無參數(shù)。type= sobel,為著名的sobel算子,用于邊緣提取,無參數(shù)。type= unsharp,為對比度增強濾波器,參數(shù)alpha用于控制濾波器的形狀,范圍為0,1,默認(rèn)值為0.2。據(jù)我目測,使用均值濾波去噪(高斯噪聲)效果選用的鄰域半徑越大效果越好,當(dāng)然其代價也會更大,另外確切的去噪效果的好壞還需要用SNR等數(shù)據(jù)來度量。實驗二:二維自適應(yīng)維納濾波對高斯噪聲的濾除效果I=

7、imread(C:Documents and SettingsAdministrator桌面1.gif); %讀取圖像 J=imnoise(I,gaussian,0,0.005); %加入均值為0,方差為0.005的高斯噪聲 K2=wiener2(J,3 3); %對加噪圖像進行二維自適應(yīng)維納濾波 K2=wiener2(J,5 5); %對加噪圖像進行二維自適應(yīng)維納濾波 K2=wiener2(J,7 7); %對加噪圖像進行二維自適應(yīng)維納濾波 K2=wiener2(J,9 9); %對加噪圖像進行二維自適應(yīng)維納濾波 subplot(2,3,1);imshow(I); title(原始圖像);

8、subplot(2,3,2);imshow(J); title(加噪圖像); subplot(2,3,3);imshow(K1); title(恢復(fù)圖像1); subplot(2,3,4);imshow(K2); title(恢復(fù)圖像2); subplot(2,3,5);imshow(K3); title(恢復(fù)圖像3); subplot(2,3,6);imshow(K4); title(恢復(fù)圖像3); PS:維納濾波的兩個函數(shù)wiener2與deconvwnr都能夠完成維納濾波的功能, deconvwnr強調(diào)圖象復(fù)原方面,wiener2強調(diào)圖象空間域銳化的作用,其中J=wiener2(I,m,

9、n)返回有噪聲圖像I經(jīng)過wierner(維納)濾波后的圖像,m,n指定濾波器窗口大小為m*n,默認(rèn)值為3*3,J=wiener2(I,m,n,noise)指定噪聲的功率,J,noise=wiener2(I,m,n)在圖像濾波的同時,返回噪聲功率的估計值noise。:維納濾波的兩個函數(shù)wiener2與deconvwnr都能夠完成維納濾波的功能, deconvwnr強調(diào)圖象復(fù)原方面,wiener2強調(diào)圖象空間域銳化的作用,其中J=wiener2(I,m,n)返回有噪聲圖像I經(jīng)過wierner(維納)濾波后的圖像,m,n指定濾波器窗口大小為m*n,默認(rèn)值為3*3,J=wiener2(I,m,n,no

10、ise)指定噪聲的功率,J,noise=wiener2(I,m,n)在圖像濾波的同時,返回噪聲功率的估計值noise。imnoise的語法格式為J = imnoise(I,type)J = imnoise(I,type,parameters)其中J = imnoise(I,type)返回對原始圖像I添加典型噪聲的有噪圖像J。參數(shù)type和parameters用于確定噪聲的類型和相應(yīng)的參數(shù)。下面的命令是對圖像1.gif分別加入高斯噪聲、椒鹽噪聲和乘性噪聲,其結(jié)果實驗三:對加入椒鹽噪聲的圖像分別作均值、中值和維納濾波I=imread(1.gif); J1=imnoise(I,gaussian,0,

11、0.02); J2=imnoise(I,salt & pepper,0.02); J3=imnoise(I,speckle,0.02); 運行效果見圖2 I=imread(C:Documents and SettingsAdministrator桌面1.gif); J=imnoise(I,salt & pepper,0.02); %h=ones(3,3)/9;%產(chǎn)生3*3的全1數(shù)組 %B=conv2(J,h);%卷積運算 K2=filter2(fspecial(average,3),J)/255; %均值濾波模板尺寸為3 K= medfilt2(J);%采用二維中值濾波函數(shù)medfilt2對受

12、椒鹽噪聲干擾的圖像濾波 K1=wiener2(J,3 3); %對加噪圖像進行二維自適應(yīng)維納濾波 subplot(2,3,1);imshow(I); title(原始圖像); subplot(2,3,2);imshow(J); title(加噪圖像); subplot(2,3,3);imshow(K2); title(均值濾波后的圖像); subplot(2,3,4);imshow(K); title(中值濾波后的圖像); subplot(2,3,5);imshow(K1); title(維納濾波后的圖像); PS:MATLAB中提供了卷積運算的函數(shù)命令conv2,其語法格式為:MATLAB中

13、提供了卷積運算的函數(shù)命令conv2,其語法格式為:C = conv2(A,B)C = conv2(A,B)返回矩陣A和B的二維卷積C。若A為mana的矩陣,B為mbnb的矩陣,則C的大小為(ma+mb+1)(na+nb+1)。MATLAB圖像處理工具箱提供了基于卷積的圖象濾波函數(shù)filter2,filter2的語法格式為:Y = filter2(h,X)其中Y = filter2(h,X)返回圖像X經(jīng)算子h濾波后的結(jié)果,默認(rèn)返回圖像Y與輸入圖像X大小相同。例如:其實filter2和conv2是等價的。MATLAB在計算filter2時先將卷積核旋轉(zhuǎn)180度,再調(diào)用conv2函數(shù)進行計算。Fsp

14、ecial函數(shù)用于創(chuàng)建預(yù)定義的濾波算子,其語法格式為:h = fspecial(type)h = fspecial(type,parameters)參數(shù)type制定算子類型,parameters指定相應(yīng)的參數(shù),具體格式為前文已有敘述。ones產(chǎn)生全1數(shù)組,zeros產(chǎn)生全零數(shù)組。ones(a,b)產(chǎn)生a行b列全1數(shù)組ones(a)產(chǎn)生a行a列全1數(shù)祖 通過圖3我們也可得出結(jié)論,即中值濾波對于去除椒鹽噪聲效果最好,而維納濾波去除效果則較差。中值濾波對于去除椒鹽噪聲效果明顯,是因為椒鹽噪聲只在畫面上的部分點隨機出現(xiàn),而中值濾波根據(jù)數(shù)據(jù)排序,將未被污染的點代替噪聲點的值的概率較大,所以抑制效果好。對

15、點、線和尖頂較多的圖像不宜采用中值濾波,因為一些細(xì)節(jié)點可能被當(dāng)成噪聲點。實驗四: 分別使用二維統(tǒng)計濾波對椒鹽噪聲和高斯噪聲進行濾波I=imread(C:Documents and SettingsAdministrator桌面1.gif); J1=imnoise(I,salt & pepper,0.004); subplot(2,3,1);imshow(I); title(原始圖像); subplot(2,3,2);imshow(J1); title(加椒鹽噪聲后的圖像); J= ordfilt2(J1,5,ones(3,4);% 進行二維統(tǒng)計順序過濾 subplot(2,3,3);imsho

16、w(J); title(椒鹽噪聲濾波后的圖像); J2=imnoise(I,gaussian,0,0.004); subplot(2,3,4);imshow(J2); title(加高斯噪聲后的圖像); J3= ordfilt2(J2,5,ones(3,4); subplot(2,3,5);imshow(J3); title(高斯噪聲濾波后的圖像); PS: PS:MATLAB小波分析工具箱提供的用于圖像去噪的函數(shù)有wrcoef2和wpdencmp,其語法格式分別為:X=wrcoef2(type,C,S,wname)xd,treed,datad,perf0,perfl2=wpdencmp(x,

17、sorh,N,wname,crit,par,keepapp)其中,X=wrcoef2(type,C,S,wname)返回基于小波分解結(jié)構(gòu),的小波重構(gòu)圖像。參數(shù)“type”等于a表示重構(gòu)近似系數(shù);等于h表示重構(gòu)水平細(xì)節(jié)系數(shù);等于v表示重構(gòu)垂直細(xì)節(jié)系數(shù),等于d表示重構(gòu)對角細(xì)節(jié)系數(shù)。xd,treed,datad,perf0,perfl2=wpdencmp(x,sorh,N,wname,crit,par,keepapp)是通過小波包定限(閾值化),返回輸入信號或圖像的除噪結(jié)果xd。輸入?yún)?shù)中,treed,datad為xd的最佳小波包分解結(jié)構(gòu);perfl2和perf0表示L2復(fù)原和壓縮百分?jǐn)?shù);perf1

18、2=100*(xd的小波包系數(shù)向量范數(shù)/X的小波包系數(shù)向量范數(shù)) 2。Keepapp=1表示近似系數(shù)不能閾值化,否則可以閾值化;sorh=s為軟閾值化,h為硬閾值化。 實驗五:利用wrcoef2函數(shù)進行圖像去噪其程序代碼如下:I=imread(C:Documents and SettingsAdministrator桌面1.gif); J=imnoise(I,gaussian,0,0.005); c,l=wavedec2(J,2,sym4); J1= wrcoef2(a,c,l,sym4,1); J2= wrcoef2(a,c,l,sym4,2); subplot(2,2,1);imshow(I); title(原始圖像); subplot

溫馨提示

  • 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

提交評論