matlab學習筆記(八)---空域濾波增強
阿新 • • 發佈:2019-02-14
1、平滑濾波器
1.1線性平滑濾波器
1.1.1給影象加入椒鹽噪聲
I=imread('eight.tif');
J=imnoise(I,'salt & pepper',0.02);
subplot(121),imshow(I),title('原始影象');
subplot(122),imshow(J),title('加入椒鹽噪聲的影象');
效果圖如下:
1.1.2對一個影象進行不同大小模板的均值濾波,並比較結果
效果圖如下:I=imread('eight.tif'); J=imnoise(I,'salt & pepper',0.02); subplot(221),imshow(J),title('噪聲影象'); K1=filter2(fspecial('average',3),J)/255; %進行3*3模板的均值濾波 K2=filter2(fspecial('average',5),J)/255; %進行5*5模板的均值濾波 K3=filter2(fspecial('average',7),J)/255; %進行7*7模板的均值濾波 subplot(222),imshow(K1),title('3*3模板均值濾波'); subplot(223),imshow(K2),title('5*5模板均值濾波'); subplot(224),imshow(K3),title('7*7模板均值濾波');
1.2非線性平滑濾波器
效果圖如下:I=imread('eight.tif'); J=imnoise(I,'salt & pepper',0.02); subplot(221),imshow(J),title('噪聲影象'); K1=medfilt2(J,[3 3]); %進行3*3模板的中值濾波 K2=medfilt2(J,[5 5]); %進行5*5模板的中值濾波 K3=medfilt2(J,[7 7]); %進行7*7模板的中值濾波 subplot(222),imshow(K1),title('3*3模板中值濾波'); subplot(223),imshow(K2),title('5*5模板中值濾波'); subplot(224),imshow(K3),title('7*7模板中值濾波');
2、平滑濾波器
2.1線性銳化濾波器
2.1.1對影象cameraman.tif進行線性高通濾波
I=imread('cameraman.tif');
h=fspecial('laplacian');
I2=filter2(h,I);
subplot(121),imshow(I),title('原始影象');
subplot(122),imshow(I2),title('濾波後圖像');
效果圖如下:
2.1.2用sobel運算元、prewitt運算元、log運算元對影象濾波
效果圖如下I=imread('rice.png'); subplot(221),imshow(I),title('原始影象'); h1=fspecial('sobel'); I1=filter2(h1,I); subplot(222),imshow(I1),title('sobel運算元濾波'); h1=fspecial('prewitt'); I1=filter2(h1,I); subplot(223),imshow(I1),title('prewitt運算元濾波'); h1=fspecial('log'); I1=filter2(h1,I); subplot(224),imshow(I1),title('log運算元濾波');