数字图像平滑滤波在MATLAB上的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 5 章图像平滑滤波在MATLAB上的实现
本课程设计在MATLAB上实现的程序和结果
I=imread('b.bmp');
v=0.5*ones(size(I));
I1=imnoise(I,'localvar',v);
I2=imnoise(I,'salt & pepper',0.02);
I3=imnoise(I,'speckle',0.02);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('受高斯噪声污染的图像');
imshow(I1);
hold off;
subplot(223);
hold on;
title('受椒盐噪声污染的图像');
imshow(I2);
hold off;
subplot(224);
hold on;
title('受乘性噪声污染的图像');
imshow(I3);
hold off;
原图像受高斯噪声污染的图像
受椒盐噪声污染的图像受乘性噪声污染的图像
h=ones(3,3)/9;
J1=imfilter(I1,h);
J2=imfilter(I2,h);
J3=imfilter(I3,h);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('对有高斯噪声的3*3邻域平均后的图像');
imshow(J1);
hold off;
subplot(223);
hold on;
title('对有椒盐噪声的3*3邻域平均后的图像');
imshow(J2);
hold off;
subplot(224);
hold on;
title('对有乘性噪声的3*3邻域平均后的图像');
imshow(J3);
hold off;
原图像高斯噪声3*3邻域平均后的图像
椒盐噪声3*3邻域平均后的图像乘性噪声3*3邻域平均后的图像
h1=ones(5,5)/25;
K1=imfilter(I1,h1);
K2=imfilter(I2,h1);
K3=imfilter(I3,h1);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('对有高斯噪声的5*5邻域平均后的图像');
imshow(K1);
hold off;
subplot(223);
hold on;
title('对有椒盐噪声的5*5邻域平均后的图像');
imshow(K2);
hold off;
subplot(224);
hold on;
title('对有乘性噪声的5*5邻域平均后的图像');
imshow(K3);
hold off;
原图像高斯噪声5*5邻域平均后的图像
椒盐噪声5*5邻域平均后的图像乘性噪声的5*5邻域平均后的图像
L1=medfilt2(I1,[5,5]);
L2=medfilt2(I2,[5,5]);
L3=medfilt2(I3,[5,5]);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('高斯噪声5*5中值滤波后的图像');
imshow(L1);
hold off;
subplot(223);
hold on;
title('椒盐噪声5*5中值滤波后的图像');
imshow(L2);
hold off;
subplot(224);
hold on;
title('乘性噪声的5*5中值滤波后的图像');
imshow(L3);
hold off;
原图像高斯噪声5*5中值滤波后的图像
椒盐噪声5*5中值滤波后的图像乘性噪声的5*5中值滤波后的图像
[f1,f2]=freqspace(25,'meshgrid');
Hd=zeros(25,25);
d=sqrt(f1.^2+f2.^2)<0.5;
Hd(d)=1;
h=fsamp2(Hd);
figure;
freqz2(h,[64,64]);
-1
1
-1
F
x
F
y
M a g n i t u d e
I=imread('b.bmp'); v=0.5*ones(size(I));
I1=imnoise(I,'localvar',v);
I2=imnoise(I,'salt & pepper',0.02); I3=imnoise(I,'speckle',0.02); J1=imfilter(I1,h,'replicate'); J2=imfilter(I2,h,'replicate'); J3=imfilter(I3,h,'replicate'); figure;
subplot(221); hold on;
title('原图像'); imshow(I); hold off; subplot(222); hold on;
title('高斯噪声频域滤波后图像'); imshow(J1); hold off; subplot(223); hold on;
title('椒盐噪声频域滤波后图像'); imshow(J2); hold off;