资源描述:
《实验三 图像平滑》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三图像平滑(2学时)一一一.一...实验目的1.掌握图像平滑的目的和常用方法:低通滤波和中值滤波2.了解噪声产生的主要来源,及常用的噪声。二二二.二...实验设备计算机三三三.三...实验内容及步骤1.模拟噪声生成MATLAB图像处理工具箱提供的噪声添加函数imnoise,它可以对图像添加一些典型的噪声。其语法:J=imnoise(I,type)J=imnoise(I,type,parameters)其功能是:返回对原图像I添加典型噪声的图像J,参数type和parameters用于确定噪声的类型和相应的参数。噪声的种类共有三种:type=’
2、gaussian’时,为高斯噪声;type=’salt&pepper’时为椒盐噪声;type=’speckle’时为乘法噪声;如下程序段就实现了2种噪声污染了图像:I=imread('cameraman.tif');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt&pepper',0.02);imshow(I);figure,imshow(I1);figure,imshow(I2);(a)原图像(b)受高斯噪声污染的图像(c)受椒盐噪声污染的图像图3-1模拟噪声污染图像2.平均值滤波对噪声消除的效果以及对原图
3、像的平滑下面取平均值滤波模板为:1111111111111111111h1=111h2=11111h3=121,分别以这三个平均925101111111111111111值滤波算子对图3-1中的三幅图像进行滤波操作。取h1,程序如下:I=imread('cameraman.tif');I1=imnoise(I,'salt&pepper',0.02);I2=imnoise(I,'gaussian');H1=[1/91/91/9;1/91/91/9;1/91/91/9];J=im
4、filter(I,H1);J1=imfilter(I1,H1);J2=imfilter(I2,H1);imshow(J);figure,imshow(J1);figure,imshow(J2);(a)原图像滤波后(b)受高斯噪声污染图像滤波后(c)受椒盐噪声污染图像滤波后图3-2图3-1中图像经过平均值算子h1滤波后图像取h2,程序如下:I=imread('cameraman.tif');I1=imnoise(I,'salt&pepper',0.02);I2=imnoise(I,'gaussian');H2=ones(5,5)/25;J=imfi
5、lter(I,H2);J1=imfilter(I1,H2);J2=imfilter(I2,H2);imshow(J);figure,imshow(J1);figure,imshow(J2);(a)原图像滤波后(b)受高斯噪声污染图像滤波后(c)受椒盐噪声污染图像滤波后图3-3图3-1中图像经过平均值算子h2滤波后图像*请同学们自己编程实现用h3对图3-1中图像进行滤波操作。3.中值滤波MATLAB图像处理工具箱提供了medfilt2函数用于实现中值滤波。其语法格式为:B=medfilt2(A)其功能为:用3×3的滤波窗口对图像A进行中值滤波;B=
6、medfilt2(A,[mn])其功能是:用指定大小为m*n的窗口对图像A进行中值滤波;B=medifilt2(A,’indexed,’…)其功能是:对索引图像A进行中值滤波;上面所有的图像A的数据类型可以是double型,也可以是uint8型。I=imread('cameraman.tif');I1=imnoise(I,'salt&pepper',0.02);I2=imnoise(I,'gaussian');J1=medfilt2(I1,[3,3]);%3×3中值滤波模板J2=medfilt2(I2,[3,3]);%3×3中值滤波模板J3=me
7、dfilt2(I1,[5,5]);%5×5中值滤波模板J4=medfilt2(I2,[5,5]);%5×5中值滤波模板figure,imshow(J1);figure,imshow(J2);figure,imshow(J3);figure,imshow(J4);运行结果如下,请注意结果之间的比较,同时注意和上面用平均值滤波结果的比较,并比较平均值滤波和中值滤波的不同应用场合。(a)高斯噪声经3×3中值滤波(b)椒盐噪声经3×3中值滤波(c)高斯噪声经5×5中值滤波(d)椒盐噪声经5×5中值滤波图3-4受高斯噪声和椒盐噪声污染图像经不同模板的中值滤
8、波后的图像*4.频率域低通频率域低通滤波频率域低通滤波滤波(1)构建二维滤波器h:[f1,f2]=freqspace(25,'meshg