1、实验四贵州师范大学数学与计算机科学学院学生实验报告课程名称: 数字图像处理 班级:12信本 实验日期:2015年4月21日学 号: 120703010033 姓名: 指导教师: 张艳 一、实验名称图像的空域滤波。二、实验目的及要求通过本实验使学生掌握使用MATLAB 对灰度图像进行空域增强的目的,加深对图像空域滤波增强方法的理解。三、实验原理 本实验是基于数字图像处理课程中的图像变换和增强理论来设计的。 本实验的准备知识:“4、灰度变换与空间滤波”中的空间滤波技术。 MATLAB中滤波器的函数 中值滤波命令:Bmedfilt2 (I,3,3) %使用33 中值滤波器对I滤波均值滤波技术。 均值
2、滤波命令:先定义模板,如 H1/9*ones(3,3), 或 Hfspecial(average,3,3); 然后使用命令 I1imfilter(I, H)对图像I消噪。 四、实验内容读入lena.jpg 文件,进行下列操作: (1)将图像添加上椒盐噪声, A_noised=imnoise(A,salt & pepper,0.02),同屏显示原图像和加噪图像,说明椒盐噪声的特点; (2)设计33,55,77,99四种模板的均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明; (3)设计33,55,77,99四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图
3、像,对滤波效果进行解释和说明; (4)将图像添加上高斯噪声, A_noised=imnoise(A,gauss,0.02),同屏显示原图像和加噪图像,说明高斯噪声的特点; (5)设计33,55,77,99四种模板的算术均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明; (6)设计33,55,77,99四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明。(7)自编程序,实现均值滤波和中值滤波。(8)调用自编程实现的函数,对加了椒盐噪声图像的实现33和55两种种模板的均值滤波和中值滤波。五、实现代码及运行效果图(1)将图像添加上椒
4、盐噪声, A_noised=imnoise(A,salt & pepper,0.02),同屏显示原图像和加噪图像,说明椒盐噪声的特点; 程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,salt & pepper,0.02);subplot(1,2,1),imshow(xz),title(原图);subplot(1,2,2),imshow(xz_noised),title(加噪图像);运行结果:椒盐噪声的特点:椒盐噪声类似把椒盐撒在图像上,是一种在图像上出现很多白点或黑点的噪声。椒盐噪声是由图像传感器,传输信
5、道,解码处理等产生的黑白相间的亮暗点噪声。 2)设计33,55,77,99四种模板的均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,salt & pepper,0.02);h1=(1/9)*ones(3,3);h2=(1/25)*ones(5,5);h3=(1/49)*ones(7,7);h4=(1/81)*ones(9,9);t1=imfilter(xz_noised,h1);t2=imfilter(xz_noised,h2)
6、;t3=imfilter(xz_noised,h3);t4=imfilter(xz_noised,h4);figuresubplot(3,2,1),imshow(xz),title(原图);subplot(3,2,2),imshow(xz_noised),title(加噪图像);subplot(3,2,3),imshow(t1),title(3*3消噪图像);subplot(3,2,4),imshow(t2),title(5*5消噪图像);subplot(3,2,5),imshow(t3),title(7*7消噪图像);subplot(3,2,6),imshow(t4),title(9*9消噪
7、图像);运行结果:均值滤波效果解释和说明:当所用平滑模板尺寸增大时,对噪声的消除有所增强,但同时得到的图像变得更加模糊,细节的锐化程度逐步减弱。(3)设计33,55,77,99四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明; 程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,salt & pepper,0.02);b1=medfilt2(xz_noised,3,3);b2=medfilt2(xz_noised,5,5);b3=medfilt2(xz_noised,7,
8、7);b4=medfilt2(xz_noised,9,9);figuresubplot(3,2,1),imshow(xz),title(原图);subplot(3,2,2),imshow(xz_noised),title(加噪图像);subplot(3,2,3),imshow(b1),title(3*3中值滤波消噪图像);subplot(3,2,4),imshow(b2),title(5*5中值滤波消噪图像);subplot(3,2,5),imshow(b3),title(7*7中值滤波消噪图像);subplot(3,2,6),imshow(b4),title(9*9中值滤波消噪图像);运行结
9、果:中值滤波效果解释和说明:当所用中值滤波模板尺寸增大时,对噪声的消除有所增强,但同时得到的图像变得更加清晰,细节的锐化程度逐步增强。(4)将图像添加上高斯噪声, A_noised=imnoise(A,gauss,0.02),同屏显示原图像和加噪图像,说明高斯噪声的特点;程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,gauss,0.02);subplot(1,2,1),imshow(xz),title(原图);subplot(1,2,2),imshow(xz_noised),title(高斯加噪图像);运
10、行结果:高斯噪声的特点:高斯噪声是指噪声服从高斯分布,即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少,且这个规律服从高斯分布.高斯噪声是一种加性噪声,即噪声直接加到原图像上。(5)设计33,55,77,99四种模板的算术均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,gauss,0.02);h1=(1/9)*ones(3,3);h2=(1/25)*ones(5,5);h3=(1/49)*ones(7,7);h4=(1/
11、81)*ones(9,9);t1=imfilter(xz_noised,h1);t2=imfilter(xz_noised,h2);t3=imfilter(xz_noised,h3);t4=imfilter(xz_noised,h4);figuresubplot(3,2,1),imshow(xz),title(原图);subplot(3,2,2),imshow(xz_noised),title(高斯加噪图像);subplot(3,2,3),imshow(t1),title(3*3算术均值滤波消噪图像);subplot(3,2,4),imshow(t2),title(5*5算术均值滤波消噪图像)
12、;subplot(3,2,5),imshow(t3),title(7*7算术均值滤波消噪图像);subplot(3,2,6),imshow(t4),title(9*9算术均值滤波消噪图像);运行结果:(6)设计33,55,77,99四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明。程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,gauss,0.02);b1=medfilt2(xz_noised,3,3);b2=medfilt2(xz_noised,5,5);b3=me
13、dfilt2(xz_noised,7,7);b4=medfilt2(xz_noised,9,9);figuresubplot(3,2,1),imshow(xz),title(原图);subplot(3,2,2),imshow(xz_noised),title(高斯加噪图像);subplot(3,2,3),imshow(t1),title(3*3中值滤波消噪图像);subplot(3,2,4),imshow(t2),title(5*5中值滤波消噪图像);subplot(3,2,5),imshow(t3),title(7*7中值滤波消噪图像);subplot(3,2,6),imshow(t4),t
14、itle(9*9中值滤波消噪图像);运行结果:(7)自编程序,实现均值滤波和中值滤波。均值滤波M文件:function xz=medFilt(x,n)p=size(x);x1=double(x);x2=x1;for i=1:p(1)-n+1 for j=1:p(2)-n+1 c=x1(i:i+(n-1),j:j+(n-1); e=c(1,:); for u=2:n e=e,c(u,:); end mm=median(e); x2(i+(n-1)/2,j+(n-1)/2)=mm; endendxz=uint8(x2);中值滤波M文件:function xz = averageFilt(x,n )
15、a(1:n,1:n)=1;p=size(x);x1=double(x);x2=x1;for i=1:p(1)-n+1 for j=1:p(2)-n+1 c=x1(i:i+(n-1),j:j+(n-1).*a; s=sum(sum(c); x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); endendxz=uint8(x2); (8)调用自编程实现的函数,对加了椒盐噪声图像的实现33和55两种种模板的均值滤波和中值滤波。程序:clcclearxz=imread(lena.jpg);xz=rgb2gray(xz);xz_noised=imnoise(xz,salt & pepper
16、,0.02);b1=averageFilt(xz_noised,3);b2=averageFilt(xz_noised,5);t1=medFilt(xz_noised,3);t2=medFilt(xz_noised,5);figuresubplot(3,2,1),imshow(xz),title(原图);subplot(3,2,2),imshow(xz_noised),title(椒盐噪声图像);subplot(3,2,3),imshow(b1),title(3*3均值滤波消噪图像);subplot(3,2,4),imshow(t1),title(3*3中值滤波消噪图像);subplot(3,2,5),imshow(b2),title(5*5均值滤波消噪图像);subplot(3,2,6),imshow(t2),title(5*5中值滤波消噪图像);运行结果:六、总结唯一的感觉就是这些图好像表面看上去没有太大的差别,不过放大了之后还是能看出均值滤波和中值滤波的一些效果。其他的没有太大的问题,老师几乎把程序都告诉我们了,只需要自己去体会!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1