1、湖南大学脑与认知科学概论实验2实验报告课程名称脑与认知科学概论实验课时4实验项目名称和编号实验2 图像去噪实验CS0502502同组者 姓 名实验目的1通过实验掌握图像去噪的基本方法;2学会根据情况选用不同方法。实验环境硬件:联想Y50计算机 软件: WINDOWS7操作系统 应用软件:MATLAB2014A实验内容和原理1实验内容请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。(1)对静态场景的多幅图片取平均;(2)空间域模板卷积(不同模板、不同尺寸);(3)频域低通滤波器(不同滤波器模型、不同截止频率);(4)中值滤波方法。2实验要求(1)图片可根据需要选取;(2)对不同方法
2、和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是33,55,77或更大。频域滤波可采用矩形或巴特沃斯等低通滤波器模型,截止频率也是可选的。(3)分析比较不同方法的结果。3 实验原理:(一)对静态场景的多幅图片取平均:考虑待处理的同一幅图的不同样本较多,如本题中,给出了一幅图的8种不同噪音样本,我们选取取平均的做法,直接将灰度值转化为浮点数取平均,即可得到需要的去噪结果。(二)空间域模板卷积(不同模板、不同尺寸):考虑三种模板处理方式:邻域模板、高斯模板、及加权模板先看模板的使用方法:fspecial函数
3、用于创建预定义的滤波算子,其语法格式为:h = fspecial(type)h = fspecial(type,parameters)参数type制定算子类型,parameters指定相应的参数,具体格式为:type=average,为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为3,3。type= gaussian,为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为3,3,sigma表示滤波器的标准差,单位为像素,默认值为0.5。type= laplacian,为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为0,1,默认值为0.2。type= log,为拉
4、普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为3,3,sigma为滤波器的标准差,单位为像素,默认值为0.5type= prewitt,为prewitt算子,用于边缘增强,无参数。type= sobel,为著名的sobel算子,用于边缘提取,无参数。type= unsharp,为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为0,1,默认值为0.2。下面考虑三种滤波方式:邻域模板:最简单的平滑滤波是将原图中一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值(除以9)作为新图中该像素的灰度值。它采用模板计算的思想,模板操作实现了一种邻域运算,即某个像素点的结果
5、不仅与本像素灰度有关,而且与其邻域点的像素值有关。邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。如果是噪声点,其邻近像素灰度与之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。高斯模板:高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷
6、积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。加权模板:类似于邻域模板滤波,将各部分的加权比进行调整,选择调整后最佳的加权比进行滤波。(三)中值滤波主要调用 b=medfilt2(a,m,n);其中b是中值滤波后的图象矩阵,a是原图矩阵,m和n是处理模版大小,默认大小为33。(四)频域低通滤波器实验步骤方 法关键代码(1)对静态场景的多幅图片取平均(shy2_1.m)代码:b1=double(imread(I1.jpg)/255;%读取图片,将灰度转化为浮点数后除以255,下同b2=double(imread(I2.jpg)/255;b3=d
7、ouble(imread(I3.jpg)/255;b4=double(imread(I4.jpg)/255;b5=double(imread(I5.jpg)/255;b6=double(imread(I6.jpg)/255;b7=double(imread(I7.jpg)/255;b8=double(imread(I8.jpg)/255;c=(b1+b2+b3+b4+b5+b6+b7+b8)/8;%对以上8幅图求平均imshow(c)(2)空间域模板卷积(不同模板、不同尺寸);邻域模板:i=double(imread(panda2.jpg)/255;subplot(221); imshow(i
8、); title(原图像);%显示图像 h=1/4*0 1 0;1 0 1;0 1 0;%定义4邻域平均模板a=filter2(h,i); %进行滤波 subplot(222);imshow(a);title(4邻域平均模板);h=1/8*1 1 1;1 0 1;1 1 1; %定义8邻域平均模板 a=filter2(h,i); subplot(223);imshow(a);title(8邻域平均模板); h=1/12*0 1 1 0;1 1 1 1;1 1 1 1;0 1 1 0; %定义12邻域平均模板 a=filter2(h,i); subplot(224);imshow(a);titl
9、e(12邻域平均模板);高斯模板:i=imread(Panda2.jpg); %读入图像i=double(i)/255; %数值转换 subplot(231);imshow(i);title(原图像.高斯模板);h=fspecial(gaussian,3,3); %产生预定义滤波器, %选用3*3的高斯模板 %格式为b=fspecial(A,m,n);这里m,n是邻域大小,默认值为3,3a=filter2(h,i); %对图像进行卷积滤波的函数格式:A=filter2(h,i)%其函数返回图像i经算子h滤波后的图像给A subplot(232); imshow(a); title(3*3的高斯
10、模板);h=fspecial(gaussian,5 5); %选用5*5的高斯模板a=filter2(h,i);subplot(233);imshow(a);title(5*5的高斯模板) h=fspecial(gaussian,7 7); %选用7*7的高斯模板a=filter2(h,i); subplot(234);imshow(a);title(7*7的高斯模板)h=fspecial(gaussian,9 9)%选用9*9的高斯模板 ; a=filter2(h,i); subplot(235);imshow(a); title(9*9的高斯模板) h=fspecial(gaussian,
11、11 11);%选用11*11的高斯模板a=filter2(h,i); subplot(236);imshow(a);title(11*11的高斯模板)加权平均模板i=imread(Panda2.jpg); % 读入图像 i=double(i)/255; %数据类型转换 subplot(1,3,1);imshow(i);title(原图像);%显示图像 h=1/10*1 1 1;1 2 1;1 1 1; %选用3*3的加权平均模板 a=filter2(h,i); subplot(1,3,2);imshow(a);title(3*3的加权平均模板); h=1/48*0 1 2 1 0;1 2 4
12、 2 1;2 4 8 4 2;1 2 4 2 1;0 1 2 1 0;%选用5*5的 加权平均模板 a=filter2(h,i); subplot(1,3,3);imshow(a);title(5*5的加权平均模板);(3)中值滤波方法i=imread(Panda2.jpg);%读入图像 i=double(i)/255; %数值转换 subplot(221);imshow(i);title(原图像);%显示图像 a=medfilt2(i,3 3); %中值滤波函数medfilt2,m行n列的滤波器 subplot(222);imshow(a);title(3*3中值滤波); a=medfilt
13、2(i,5 5); %选用5*5 subplot(223);imshow(a);title(5*5中值滤波) a=medfilt2(i,7 7); %选用7*7subplot(224);imshow(a);title(7*7中值滤波);(4)均值滤波close all;clear all;I=imread(panda2.jpg);%读入预处理图像I=double(I)/255;subplot(231),imshow(I),title(原图像)%显示预处理图像h=fspecial(average,3 3);%进行3*3均值滤波K1=filter2(h,I);subplot(232),imshow
14、(K1),title(3*3均值滤波)K2=filter2(fspecial(average,5),I);%进行5*5均值滤波subplot(233),imshow(K2),title(5*5均值滤波)K3=filter2(fspecial(average,7),I);%进行7*7均值滤波subplot(234),imshow(K3),title(7*7均值滤波)K4=filter2(fspecial(average,9),I);%进行9*9均值滤波subplot(235),imshow(K4),title(9*9均值滤波)K5=filter2(fspecial(average,11),I);
15、%进行11*11均值滤波subplot(236),imshow(K5),title(11*11均值滤波)(5)频域低通滤波clear all;close all;i=imread(panda2.jpg); %读入图像subplot(221); imshow(i); title(原图像);%显示图像a=fft2(double(i); %进行傅里叶变换fc=fftshift(a); %把频谱移中 fftshift的作用正是让正半轴部分和负半轴部分的图像分别关于各自的中心对称。m,n=size(fc); %获取频谱图大小for i=1:m %进行点运算 for j=1:n u=floor(i-m/2
16、); %计算频率平面道远点的距离 v=floor(j-n/2); d=(u2+v2)0.5; h(i,j)=1/(1+(d/30)2); %定义巴特沃斯低通滤波器 fe(i,j)=h(i,j)*fc(i,j); %进行巴特沃斯低通滤波 endendFF=ifftshift(fe); %对经巴特沃斯处理的频谱进行逆移中ff=real(ifft2(FF); %取傅里叶逆变换的实数部分subplot(222);imshow(uint8(ff); title(截止频率30Hz);%显示图像m,n=size(fc); %获取频谱图大小for i=1:m %进行点运算 for j=1:n u=floor(
17、i-m/2); %计算频率平面道远点的距离 v=floor(j-n/2); d=(u2+v2)0.5; h(i,j)=1/(1+(d/60)2); %定义巴特沃斯低通滤波器 fe(i,j)=h(i,j)*fc(i,j); %进行巴特沃斯低通滤波 endendFF=ifftshift(fe); %对经巴特沃斯处理的频谱进行逆移中ff=real(ifft2(FF); %取傅里叶逆变换的实数部分subplot(223); imshow(uint8(ff); title(截止频率60Hz);%显示图像m,n=size(fc); %获取频谱图大小for i=1:m %进行点运算 for j=1:n u=
18、floor(i-m/2); %计算频率平面道远点的距离 v=floor(j-n/2); d=(u2+v2)0.5; h(i,j)=1/(1+(d/80)2); %定义巴特沃斯低通滤波器 fe(i,j)=h(i,j)*fc(i,j); %进行巴特沃斯低通滤波 endendFF=ifftshift(fe); %对经巴特沃斯处理的频谱进行逆移中ff=real(ifft2(FF); %取傅里叶逆变换的实数部分subplot(224); imshow(uint8(ff); %显示图像title(截止频率80Hz);测试记录分 析结 论(1)静态图片取平均(2)邻域模板:(3)高斯模板(4)加权平均模板(
19、5)中值滤波(6)均值滤波(7)巴特沃斯低通滤波结论分析:1) 对于给出样本在不同干扰下的图像个数较多时,可以考虑通过对多个样本取平均进行滤波以消除噪音。2 )对于三种空间域模板滤波(邻域、高斯、加权),相较来看,大尺寸的邻域滤波所得的滤波结果最优秀,当然代价也会更大。但是不可避免的,这些滤波方式都会引入模糊因素,使原图变得模糊。3)中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好,同时画面的轮廓依然比较清晰。由此看来,对于椒盐噪声密度
20、较小时,尤其是孤立噪声点,用中值滤波的效果非常好的。然而,后续我对中值滤波进行了其他几组测试,在处理线形密集的图形时,中值滤波也会得到很不理想的滤波结果。4)均值滤波处理的高斯噪声图像很模糊,较之于中值滤波,不太理想。究其原因,是因为均值滤波是类似于邻域滤波,进行邻域内平均。5)巴特沃斯低通滤波可以针对不同频段进行滤波,自由度较强,可以针对个人需求进行调节,是一种很灵活的滤波方式。小 结实验结论:对于椒盐噪声图像,选取中值滤波可以得到最佳滤波效果。对于高斯噪声图像,选取均值滤波可以得到最佳滤波效果。对于给出样本较多的情况,可以采用多幅图取平均的滤波方式。在使用模板时,一般情况下使用大尺寸的模板,滤波效果更佳,但是会有更大的代价。所以,对于不同的图像,我们需要先分析,根据不同情况,选取不同滤波方式。心得体会:这次实验主要考察我们对于matlab多种图像操作,以及滤波方式的实现,总的来说,实验量很大,我也用了很多时间去做。希望做完这次实验之后能记住这次实验的一些经验和教训,在以后的学习生活中灵活运用。以下由实验教师填写记 事评 议 成绩评定 平时成绩_ 实验报告成绩_ 综合成绩 _ 指导教师签名:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1