MATLAB学习之均值滤波

均值滤波会模糊图像,且适用于高斯噪声,对椒盐噪声情况并不良好。

img=imread("dragon.png");
subplot(1,1,1);
imshow(img);
imgn=imnoise(img,"gaussian",0,0.01);
subplot(1,1,1);
imshow(imgn);
%3*3 均值滤波
[m,n]=size(img);
for i=2:1:m-1
    for j=2:1:n-1
        temp=0;
        for p=i-1:1:i+1
            for q=j-1:1:j+1
                temp=temp+double(imgn(p,q));
            end
        end
        temp=temp/9;
        imgn(i,j)=temp;
    end
end
subplot(1,1,1);
imshow(imgn);

MATLAB学习之均值滤波_第1张图片
MATLAB学习之均值滤波_第2张图片

下面是椒盐噪声滤波过程。

img=imread("dragon.png");
subplot(1,1,1);
imshow(img);
imgn=imnoise(img,"salt & pepper",0.05);
subplot(1,1,1);
imshow(imgn);
%3*3 均值滤波
[m,n]=size(img);
for i=2:1:m-1
    for j=2:1:n-1
        temp=0;
        for p=i-1:1:i+1
            
for q=j-1:1:j+1
                temp=temp+double(imgn(p,q));
            end
        end
        temp=temp/9;
        imgn(i,j)=temp;
    end
end
subplot(1,1,1);
imshow(imgn);

MATLAB学习之均值滤波_第3张图片

你可能感兴趣的:(MATLAB)