【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波

图像的预处理中比较重要的一环就是图像的去噪处理,是后续图像处理的基础。

img=imread('F:\图像去噪\4.jpg');
f=rgb2gray(img);
subplot(1,2,1);
imshow(f);
f=double(f);
f=fft2(f);
f=fftshift(f);
[m,n]=size(f);  %
d0=80;
m1=fix(m/2);
n1=fix(n/2);
for i=1:m
    for j=1:n
        d=sqrt((i-m1)^2+(j-n1)^2);
        h(i,j)=exp(-d^2/2/d0^2);
    end
end
g=f.*h;
g=ifftshift(g);
g=ifft2(g);
g=mat2gray(real(g));
subplot(1,2,2);
imshow(g);
imwrite(img,'2.jpg');
处理效果:

【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第1张图片

高斯模糊参数d0对处理效果的影响:

d0=5

【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第2张图片

d0=10



d0=20【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第3张图片

d0=40【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第4张图片

【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第5张图片

d0=80

【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第6张图片

d0=160

【Matlab学习笔记】【图像滤波去噪】高斯平滑滤波_第7张图片

有对比图片可以看出,随着d0值的不断变小,图像越来越模糊,噪点越来越少,但d0的值也不能太小,太小导致图像模糊严重。



转自:Matlab图像高斯平滑滤波处理

你可能感兴趣的:(图像处理-Matlab)