1 线性平滑滤波器
用 MATLAB 实现领域平均法抑制噪声程序
I=imread(' c4.jpg ');
subplot(231)
imshow(I)
title('原始图像')
I=rgb2gray(I);
I1=imnoise(I,'salt & pepper',0.02);
subplot(232)
imshow(I1)
title(' 添加椒盐噪声的图像')
k1=filter2(fspecial('average',3),I1)/255; %进行 3*3 模板平滑滤波
k2=filter2(fspecial('average',5),I1)/255; %进行 5*5 模板平滑滤波
k3=filter2(fspecial('average',7),I1)/255; %进行 7*7 模板平滑滤波
k4=filter2(fspecial('average',9),I1)/255; %进行 9*9 模板平滑滤波
subplot(233),imshow(k1);title('3*3 模板平滑滤波');
subplot(234),imshow(k2);title('5*5 模板平滑滤波');
subplot(235),imshow(k3);title('7*7 模板平滑滤波');
subplot(236),imshow(k4);title('9*9 模板平滑滤波');
2.中值滤波器
用 MATLAB 实现中值滤波程序如下:
I=imread(' c4.jpg ');
I=rgb2gray(I);
J=imnoise(I,'salt&pepper',0.02);
subplot(231),imshow(I);title('原图像');
subplot(232),imshow(J);title('添加椒盐噪声图像');
k1=medfilt2(J); %进行 3*3 模板中值滤波
k2=medfilt2(J,[5,5]); %进行 5*5 模板中值滤波
k3=medfilt2(J,[7,7]); %进行 7*7 模板中值滤波
k4=medfilt2(J,[9,9]); %进行 9*9 模板中值滤波
subplot(233),imshow(k1);title('3*3 模板中值滤波');
subplot(234),imshow(k2);title('5*5 模板中值滤波 ');
subplot(235),imshow(k3);title('7*7 模板中值滤波');
subplot(236),imshow(k4);title('9*9 模板中值滤波');
3 状态统计滤波器:ordfilt2 函数
Y=ordfilt2(X,order,domain)
由 domain 中非 0 元素指定邻域的排序集中的第 order 个元素代替 X 中的每个元素。Domain
是一个仅包括 0 和 1 的矩阵,1 仅定义滤波运算的邻域。
Y=ordfilt2(X,order,domain,S)
S 与 domain 一样大,用与 domain 的非 0 值相应的 S 的值作为附加补偿。
4 二维自适应除噪滤波器:wiener2 函数
wiener2 函数估计每个像素的局部均值与方差,该函数用法如下:
评论0
最新资源