MATLAB 图像平滑实验

什么都无法舍弃的人,什么都无法得到。——《进击的巨人》

1.按照下面步骤完成空域图像平滑,比较分析 1)相同滤波方法,不同模版的处理效果;2)相同模版,不同滤波方法的处理效果。
(1) 对一幅图像“girl.bmp”添加不同种类噪声:对给定的图像添加均值为 0,方差为 0.04 的高斯噪声,以及密度为 0.2 的椒盐噪声,显示添加噪声后的两幅图像。

I=imread('girl.bmp');
J=imnoise(I,'gaussian',0,0.04);%给图像添加高斯噪声
P=imnoise(I,'salt & pepper',0.2);%给图像添加椒盐噪声
subplot(2,2,[1 2]);
imshow(I);
title('原图');
subplot(2,2,3);
imshow(J);
title('高斯噪声');
subplot(2,2,4);
imshow(P);
title('椒盐噪声');

在这里插入图片描述

(2) 对上述两幅加噪图像分别进行 3×3、7×7 的均值滤波,使用“卷积”的滤波方式进行滤波,显示并比较滤波结果。

h1=fspecial('average');   %创建一个3×3均值滤波器
r1=imfilter(J,h1,'conv');%对高斯噪声图像3*3卷积均值滤波
subplot(1,2,1);
imshow(J);
title('高斯噪声图像');
subplot(1,2,2);
imshow(r1);
title('高斯噪声图像3*3卷积均值滤波');

在这里插入图片描述

r2=imfilter(P,h1,'conv');%对椒盐噪声图像3*3卷积均值滤波
subplot(1,2,1);
imshow(P);
title('椒盐噪声图像');
subplot(1,2,2);
imshow(r2);
title('椒盐噪声图像3*3卷积均值滤波');

在这里插入图片描述

h2=fspecial('average',7);%创建一个7×7均值滤波器
r3=imfilter(J,h2,'conv');%对高斯噪声图像7*7卷积均值滤波
subplot(1,2,1);
imshow(J);
title('高斯噪声图像');
subplot(1,2,2);
imshow(r3);
title('高斯噪声图像7*7卷积均值滤波');

在这里插入图片描述

r4=imfilter(P,h2,'conv');%对椒盐噪声图像7*7卷积均值滤波
subplot(1,2,1);
imshow(P);
title('椒盐噪声图像');
subplot(1,2,2);
imshow(r4);
title('椒盐噪声图像7*7卷积均值滤波');

在这里插入图片描述

(3) 对上述两幅加噪图像分别进行 3×3、7×7 的中值滤波,显示并比较滤波结果。

r1=medfilt2(J,[3 3]);%对高斯噪声图像3*3中值滤波
r2=medfilt2(P,[3 3]);%对椒盐噪声图像3*3中值滤波
subplot(1,2,1);
imshow(J);
title('高斯噪声图像');
subplot(1,2,2);
imshow(r1);
title('高斯噪声图像3*3中值滤波');

在这里插入图片描述

subplot(1,2,1);
imshow(P);
title('椒盐噪声图像');
subplot(1,2,2);
imshow(r2);
title('椒盐噪声图像3*3中值滤波');

在这里插入图片描述

r3=medfilt2(J,[7 7]);%对高斯噪声图像7*7中值滤波
r4=medfilt2(P,[7 7]);%对椒盐噪声图像7*7中值滤波
subplot(1,2,1);
imshow(J);
title('高斯噪声图像');
subplot(1,2,2);
imshow(r3);
title('高斯噪声图像7*7中值滤波');

在这里插入图片描述

subplot(1,2,1);
imshow (P);
title('椒盐噪声图像');
subplot(1,2,2);
imshow(r4);
title('椒盐噪声图像7*7中值滤波');

在这里插入图片描述
2.基于 MATLAB 编程,首选实现对图像“Elaine.tiff”加入椒盐噪声(密度为默认值),然后对含噪图像进行截止频率 D0分别为 15、30 的巴特沃斯低通滤波,显示滤波结果,如图 1 所示。

function [  ] = test83(  )
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
I=im2double(imread('Elaine.tiff'));
subplot(221);imshow(I);title('原始图像')
Image=imnoise(I,'salt & pepper'); 
subplot(222);imshow(Image); title('椒盐噪声图像');
 
FImage=fftshift(fft2(Image));  %傅里叶变换及频谱中心化
[N,M]=size(FImage);
G=zeros(N,M);
a=floor(M/2);  b=floor(N/2); %定位频谱中心原点
 
 
d0=15; %截断频率D0=15
for x=1:M
   for y=1:N
       d=sqrt((x-a)^2+(y-b)^2); %点(x,y)到傅里叶频率原点(a,b)的距离
        H=1./(1+(d./d0).^4);         %设计巴特沃斯低通滤波器
       G(y,x)=H*FImage(y,x); %低通滤波处理
    end
end
g= real(ifft2(ifftshift(G)));
subplot(223);imshow(g);title('巴特沃斯低通滤波D0=15');
 
d0=30; %截断频率D0=30
for x=1:M
   for y=1:N
       d=sqrt((x-a)^2+(y-b)^2); %点(x,y)到傅里叶频率原点(a,b)的距离
        H=1./(1+(d./d0).^4);         %设计巴特沃斯低通滤波器
       G(y,x)=H*FImage(y,x); %低通滤波处理
    end
end
g= real(ifft2(ifftshift(G)));
subplot(224);imshow(g);title('巴特沃斯低通滤波D0=30');
 
end

在这里插入图片描述

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值