数字图象处理实验-空域滤波.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验四空域滤波

实验目的

1、理解空间滤波的含义;

2、熟悉MATLAB中的各种滤波函数;

3、掌握MATLAB中实现空间滤波的方法。

二、实验步骤及内容

1、MATLAB实现空间滤波的方法

在MATLAB中两种方法来实现空间滤波,一种是使用MATLAB中提供的滤波函数,另一种是直接对数据进行操作。

(1)滤波函数filter2

J=filter2(h,X)

其中,X为图像,h为滤波器,J为滤波后的图像。通过改变滤波器掩模,可实现平滑滤波和锐化滤波。

滤波函数imfilter

J=imfilter(X,h)

其中,X为图像,h为滤波器,J为滤波后的图像。

例:X=imread(Fig3.35(a).jpg);%读入实验图像

h=[0.1110.1110.111

0.1110.1120.111

0.1110.1110.111];%定义均值滤波器

J=filter2(h,X);%均值滤波

imshow(X,[0,255]);

figure(2),imshow(J,[0,255]);%显示均值滤波后的图像

(2)中值滤波函数medfilt2

J=medfilt2(X,[hood,hood])

其中,X为图像,hood为滤波器尺寸,J为滤波后的图像,用中值滤波可去除椒盐噪声,到达平滑图像的目的。

例:X=imread(Fig3.35(a).jpg);

J=medfilt2(X,[5,5]);%[5,5]为滤波模板的规格

〔3〕直接对图像数据进行操作

使用for循环直接对图像数据进行模板卷积的操作,过程直观,便于理解,可实现各种形式的滤波。注意直接操作时要考虑边缘的处理。模板卷积的主要步骤为:

将模板在图像中漫游,并将模板中心与图中某个像素位置重合;

将模板上的各个系数与模板下各对应像素点的灰度值相乘;

将所有乘积相加〔为保持灰度范围,常将结果再除以模板系数之和〕;

将上述运算结果赋给输出图像的对应模板中心位置的像素。

例:以下程序实现了均值滤波

x=imread(Fig3.35(a).jpg);

xd=double(x);%图像数据类型转换

c=xd;

[xh,xw]=size(x);%xh图像的高〔行值),xw图像的宽〔列值〕

forj=2:xh-1%图像边缘保存原值

fori=2:xw-1,

c(i,j)=(xd(i+1,j)+xd(i,j+1)+xd(i-1,j)+xd(i,j-1)+xd(i,j))/5;%在四邻域内平均

end

end

c=uint8(c);

imshow(c)

2、空间平滑滤波

平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。

(1)平滑线性滤波器

用h=fspecial(‘average’)得到的h为3×3的邻域平均模板,然后用h来对图象cameraman.tif进行平滑处理。

例:x=imread(Fig3.35(a).jpg);

h=fspecial(average);%定义均值模板

y=imfilter(x,h);%滤波函数滤波

subplot(1,2,1)

imshow(x)

subplot(1,2,2)

imshow(y)

思考题1:查看fspecial函数的使用说明。分别定义不同尺寸的均值滤波器,如3x3、5x5、9x9等等,对课本中96页的图像Fig3.35(a)进行处理并显示处理后的图像,对实验结果进行分析解释。

答:3*3

x=imread(Fig3.35(a).jpg);

h=fspecial(average,[33]);

y=imfilter(x,h);

subplot(1,2,1);

imshow(x);

subplot(1,2,2);

imshow(y)

5*5

x=imread(Fig3.35(a).jpg);

h=fspecial(average,[55]);

y=imfilter(x,h);

subplot(1,2,1);

imshow(x);

subplot(1,2,2);

imshow(y)

9*9

x=imread(Fig3.35(a).jpg);

h=fspecial(average,[99]);

y=imfilter(x,h);

subplot(1

文档评论(0)

展翅高飞2020 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档