1. 程式人生 > >matlab學習筆記(八)---空域濾波增強

matlab學習筆記(八)---空域濾波增強

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運算元濾波');
效果圖如下