1):圖像中分別加入高斯噪聲和椒鹽噪聲。
2):對含噪圖像的中心區域(100*100)進行空間濾波,盡可能消除噪聲。
3):在頻域對含噪圖像的中心區域(100*100)進行濾波,盡可能消除噪聲。
技術描述:
圖像中加入高斯噪聲和椒鹽噪聲;對含有高斯噪聲和椒鹽噪聲的圖像進行處理,使處理後的圖像比原始圖像更清晰。
要應用的技術,包括:
a & gt給圖片添加噪點
b & gt選擇中心區域
c & gt對所選區域去噪。
d & gt重新生成圖像。
e & gt高斯公式:構造高斯低通濾波器時使用exp(-(u ^ 2+v ^ 2)/(2 *(d0 ^ 2))。
結果討論:
以下是不同濾波器對不同噪聲處理的測試結果。
請參考以下測試結果進行討論:
A(011)是用fspecial('高斯')平滑空間濾波的效果,但效果不是最好的,因為最大程度的降低了噪聲,圖像模糊;
A(012)是頻域濾波的結果。因為用的是高斯低通濾波器,所以會有黑線,壹般都是經過處理的。
A(021)是使用medfilt2 2()空間中值濾波器的效果,降噪效果好,圖像清晰。
A(022)是頻域濾波的結果,和A(012)壹樣。因為用了高斯低通濾波器,會有黑線,效果壹般。
測試結果:
高斯噪聲和椒鹽噪聲處理示意圖如下:
如圖所示:
圖(A00):原圖
圖(A01):高斯噪聲添加
圖(A011):中心100*100對圖(A01)進行空間濾波。
圖形(A012):以100*100為中心的頻域濾波圖形(A01)。
(A0) (A01)
(A011) (A012)
如圖所示:
圖(A00):原圖
圖(A02):椒鹽噪聲。
圖形(A021):在中心100*100的空間域中過濾圖形(A02)。
圖(A022):在中心100*100的頻域中過濾圖(A02)。
(A00) (A02)
(A021) (A022)
附錄:
源代碼1:處理高斯噪聲。
f = im read(' moon . TIF ');
J=imnoise(f,'高斯',0.05,0.05);%添加高斯噪聲
%空間過濾
r =[219 319 319 219];
c =[129 129 229 229];
BW=roipoly(J,c,r);
h=fspecial('高斯',[5 5]);
A011=roifilt2(J,h,BW);
圖,imshow(a 011);
%頻域濾波
f1=imcrop(fn,[129 219 99 100]);
%剪輯大小為100*100的窗口圖片。
F2 =[255 255];
%創建新圖像
F2 = uint 8(F2);
f2=padarray(f2,[50 49],255);
%將新圖像擴展為100*100的黑色圖像。
f2=padarray(f2,[218 129],0);
%在新圖片周圍添加白色,使其大小與月亮圖片壹樣。
fn = fn-F2;
%在100*100的中心區域得到黑色的月亮圖片。
PQ = paddedsize(size(f 1));
[u,v]=dftuv(PQ(1),PQ(2));
d0 = 0.2 * PQ(2);
hh=exp(-(u.^2+v.^2)/(2*(d0^2)));
%構造高斯低通濾波器
h1=dftfilt(f1,hh);
A012=padarray(h1,[218 129],0);
%將h1擴展到月球圖片的大小。
a 012 = uint 8(a 012)+fn;
%得到了100*100的中心區域處理後的月亮圖片。
圖,im show(a 012);
源代碼2:椒鹽噪聲的處理
f = im read(' moon . TIF ');
fn=imnoise(f,' salt & amp辣椒',0.05);
%添加鹽和胡椒噪聲
%空間過濾
f1=imcrop(fn,[129 219 99 100]);
%剪輯大小為100*100的窗口圖片。
F2 =[255 255];
%創建新圖像
F2 = uint 8(F2);
f2=padarray(f2,[50 49],255);
%將新圖像擴展為100*100的黑色圖像。
f2=padarray(f2,[218 129],0);
%在新圖片周圍添加白色,使其大小與月亮圖片壹樣。
fn = fn-F2;
%在100*100的中心區域得到黑色的月亮圖片。
h=medfilt2(f1,'對稱');
f1的%中值處理。
A021=padarray(h,[218 129],0);
%將h擴展到月球圖片的大小。
a 021 = a 021+fn;
%得到了100*100的中心區域處理後的月亮圖片。
圖,im show(a 021);
%頻域濾波
f1=imcrop(fn,[129 219 99 100]);
%剪輯大小為100*100的窗口圖片。
F2 =[255 255];
%創建新圖像
F2 = uint 8(F2);
f2=padarray(f2,[50 49],255);
%將新圖像擴展為100*100的黑色圖像。
f2=padarray(f2,[218 129],0);
%在新圖片周圍添加白色,使其大小與月亮圖片壹樣。
fn = fn-F2;
%在100*100的中心區域得到黑色的月亮圖片。
PQ = paddedsize(size(f 1));
[u,v]=dftuv(PQ(1),PQ(2));
d0 = 0.1 * PQ(2);
hh=exp(-(u.^2+v.^2)/(2*(d0^2)));%構造高斯低通濾波器
h1=dftfilt(f1,hh);
A022=padarray(h1,[218 129],0);
%將h1擴展到月球圖片的大小。
A022 = uint 8(A022)+fn;
%得到了100*100的中心區域處理後的月亮圖片。
圖,im show(A022);