资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验卡和实验报告 信息科学与工程学院课程名称脑与认知科学概论实验课时4实验项目名称和编号实验2 图像去噪实验CS0502502同组者 姓 名实验目的1通过实验掌握图像去噪的基本方法;2学会根据情况选用不同方法。实验环境硬件:联想Y50计算机 软件: WINDOWS7操作系统 应用软件:MATLAB2014A实验内容和原理1实验内容请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。(1)对静态场景的多幅图片取平均;(2)空间域模板卷积(不同模板、不同尺寸);(3)频域低通滤波器(不同滤波器模型、不同截止频率);(4)中值滤波方法。2实验要求(1)图片可根据需要选取;(2)对不同方法和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是33,55,77或更大。频域滤波可采用矩形或巴特沃斯等低通滤波器模型,截止频率也是可选的。(3)分析比较不同方法的结果。3 实验原理:(一)对静态场景的多幅图片取平均:考虑待处理的同一幅图的不同样本较多,如本题中,给出了一幅图的8种不同噪音样本,我们选取取平均的做法,直接将灰度值转化为浮点数取平均,即可得到需要的去噪结果。(二)空间域模板卷积(不同模板、不同尺寸):考虑三种模板处理方式:邻域模板、高斯模板、及加权模板先看模板的使用方法:fspecial函数用于创建预定义的滤波算子,其语法格式为: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,为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为3,3,sigma为滤波器的标准差,单位为像素,默认值为0.5type= prewitt,为prewitt算子,用于边缘增强,无参数。type= sobel,为著名的sobel算子,用于边缘提取,无参数。type= unsharp,为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为0,1,默认值为0.2。下面考虑三种滤波方式:邻域模板:最简单的平滑滤波是将原图中一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值(除以9)作为新图中该像素的灰度值。它采用模板计算的思想,模板操作实现了一种邻域运算,即某个像素点的结果不仅与本像素灰度有关,而且与其邻域点的像素值有关。邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。如果是噪声点,其邻近像素灰度与之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。高斯模板:高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。加权模板:类似于邻域模板滤波,将各部分的加权比进行调整,选择调整后最佳的加权比进行滤波。(三)中值滤波主要调用 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=double(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); 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);title(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的高斯模板);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的高斯模板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 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=medfilt2(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(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);%进行11*11均值滤波subplot(236),imshow(K5),title(11*11均值滤波)(5)频域低通滤波clear all;close all;i=imread(panda2.jpg); %读入图像subplot(221); imshow(i);
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号