数字图像平滑滤波在MATLAB上的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档