%过滤椒盐噪声较好的办法使用Q为正值的反调和滤波器
clc
clear
f=imread('D:\研究生课程\其他\MATLAB图像处理\亮度调节与空间滤波\5.jpg');
[M,N]=size(f);
R=imnoise2('salt & pepper',M,N,0.1,0);%概率为0.1的椒盐噪声
c=find(R==0);
gp=f;
gp(c)=0;
subplot(3,2,1)
imshow(f)
title('原图')
subplot(3,2,2)
imshow(gp)
title('概率0.1椒盐噪声污染')
R=imnoise2('salt & pepper',M,N,0,0.1);%仅被盐粒噪声污染
c=find(R==1);
gs=f;
gs(c)=255;
subplot(3,2,3)
imshow(gs);
title('被盐粒噪声污染')
%用反调和滤波器处理
fp=spfilt(gp,'chmean',3,3,1.5);%椒盐噪声是加了暗值的干扰,所以1.5
subplot(3,2,4)%3*3 Q=1.5的反调和滤波器滤波结果
imshow(fp)
title('过滤椒盐噪声')
fs=spfilt(gs,'chmean',3,3,-1.5);%椒盐噪声是加了亮值的干扰,所以-1.5
subplot(3,2,5)
imshow(fs)
title('过滤盐粒噪声')