光信数字图像处理图像平滑实验l_第1页
光信数字图像处理图像平滑实验l_第2页
光信数字图像处理图像平滑实验l_第3页
光信数字图像处理图像平滑实验l_第4页
光信数字图像处理图像平滑实验l_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验2图像平滑实验一、实验目的1.通过实验掌握图像去噪的基本方法;2.学会根据情况选用不同方法。二、实验的硬件、软件平台硬件:计算机软件:操作系统:WINDOWS7应用软件:MATLAB三、实验内容及要求1.实验内容请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。(1)对静态场景的多幅图片取平均;(2)空间域模板卷积(不同模板、不同尺寸);(3)频域低通滤波器(不同滤波器模型、不同截止频率);(4)中值滤波方法。2.实验要求(1)图片可根据需要选取;(2)对不同方法和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是3×3,5×5,7×7或更大。频域滤波可采用矩形或巴特沃斯等低通滤波器模型,截止频率也是可选的。(3)分析比较不同方法的结果。四、思考题1.不同空间域卷积器模板的滤波效果有何不同?2.空间域卷积器模板的大小的滤波效果有何影响?3.用多幅图像代数平均的方法去噪对图像有何要求?4.不同频域滤波器的效果有何不同?五、实验报告要求1.列出程序清单并进行功能注释;2.说明不同方法去噪效果;3.对去噪方法进行详细分析对比。******************对静态场景的多幅图片取平均************************实验代码如下clcclearalla1=imread('lenna_noise1.bmp');%读入图片a2=imread('lenna_noise2.bmp');a3=imread('lenna_noise3.bmp');a4=imread('lenna_noise4.bmp');a5=imread('lenna_noise5.bmp');a6=imread('lenna_noise6.bmp');a7=imread('lenna_noise7.bmp');a8=imread('lenna_noise8.bmp');b1=double(a1)/255;%变换图像数据类型b2=double(a2)/255;b3=double(a3)/255;b4=double(a4)/255;b5=double(a5)/255;b6=double(a6)/255;b7=double(a7)/255;b8=double(a8)/255;c=(b1+b2+b3+b4+b5+b6+b7+b8)/8;%八幅图取平均subplot(331),imshow(a1);%三行三列,显示图像1-8subplot(332),imshow(a2);subplot(333),imshow(a3);subplot(334),imshow(a4);subplot(335),imshow(a5);subplot(336),imshow(a6);subplot(337),imshow(a7);subplot(338),imshow(a8);subplot(339),imshow(c)%%显示平均后的图像******************空间域模板卷积(不同模板、不同尺寸)***************%%邻域模板clcclearalli=imread('Panda_jiaoyan.bmp');%读入图像i=double(i)/255;%变换数据类型subplot(221);imshow(i);%显示图像title('原图像');h=1/5*[010;101;010];%定义4邻域平均模板a=filter2(h,i);%进行滤波subplot(222);imshow(a);%显示图像title('4邻域平均模板');subplot(223);h=1/12*[0110;1111;1111;0110];%定义8邻域平均模板a=filter2(h,i);imshow(a);title('8邻域平均模板');subplot(224);h=1/12*[01110;11111;11111;01110];%定义12邻域平均模板a=filter2(h,i);imshow(a);title('12邻域平均模板')%%高斯模板clcclearall%高斯模板i=imread('Panda_jiaoyan.bmp');%读入图像i=double(i)/255;%数值转换subplot(231);imshow(i);%显示图像%选用3*3的高斯模板title('原图像(高斯模板)')h=fspecial('gaussian');%产生预定义滤波器%格式为b=fspecial(A,[m,n]);这里[m,n]是邻域大小,默认值为【3,3】a=filter2(h,i);%对图像进行卷积滤波的函数格式:A=filter2(h,B)%其函数返回图像B经算子h滤波后的图像给Asubplot(232);imshow(a);title('3*3')subplot(233);h=fspecial('gaussian',[55]);a=filter2(h,i);imshow(a);title('5*5')%选用5*5的高斯模板subplot(234);h=fspecial('gaussian',[77]);%选用7*7的高斯模板a=filter2(h,i);imshow(a);title('7*7')subplot(235);h=fspecial('gaussian',[99]);%选用9*9的高斯模板a=filter2(h,i);imshow(a);title('9*9')subplot(236);h=fspecial('gaussian',[1111]);%选用11*11的高斯模板a=filter2(h,i);imshow(a)title('11*11')加权模板%加权模板i=imread('Panda_jiaoyan.bmp');%读入图像i=double(i)/255;%数据类型转换?subplot(1,3,1);imshow(i);%显示图像title('原图像')h=1/10*[111;121;111];%选用3*3的加权平均模板a=filter2(h,i);subplot(1,3,2);imshow(a);title('3*3的加权平均模板')subplot(1,3,3);h=1/48*[01210;12421;24842;12421;01210];%选用5*5的加权平均模板a=filter2(h,i);imshow(a);title('5*5的加权平均模板')******************中值滤波方法完成图像去噪操作***********************clcclearall%高斯模板i=imread('Panda_jiaoyan.bmp');%读入图像i=double(i)/255;%数值转换subplot(221);imshow(i);%显示图像title('原图像(中值)')a=medfilt2(i,[33]);%%中值滤波函数medfilt2,m行n列的滤波器subplot(222);imshow(a);title('3*3')subplot(223);a=medfilt2(i,[55]);imshow(a);title('5*5')%选用5*5subplot(224);a=medfilt2(i,[77]);imshow(a);title('7*7')******频域低通滤波器(不同滤波器模型、不同截止频率)完成图像去噪操作**clcclearall%高斯模板i=imread('noise1.bmp');%读入图像i=double(i)/255;%数值转换figure;imshow(i);%显示图像title('原图像')figure;%%%理想低通滤波器[f1,f2]=freqspace(25,'meshgrid');%频率响应的频率空间Hd=zeros(25,25);d=sqrt(f1.^2+f2.^2)<0.1;%低通滤波器的响应Hd(d)=1;mesh(f1,f2,Hd)figure;a=filter2(Hd,i);imshow(a);%%截止频率为20Hzi=imread('noise1.bmp');%读入图像subplot(2,3,1);%显示2行3列第一幅图像imshow(i);%显示图像a=fft2(double(i));%进行傅里叶变换subplot(2,3,2);%显示2行3列第二幅图像imshow(abs(a),[]);%显示实数部分s=log(1+abs(a));%进行对数运算,降低灰度值subplot(2,3,3);%显示2行3列第三幅图像imshow(abs(s),[]);%显示降低灰度后的傅里叶频谱fc=fftshift(a);%把频谱移中s=log(a+abs(fc));%把移中的频谱进行对数运算,提高灰度subplot(2,3,4);%显示2行3列第四幅图像imshow(abs(s),[]);%显示图像[m,n]=size(fc);%获取频谱图大小fori=1:m%进行点运算forj=1:n%计算频率平面道远点的距离u=floor(i-m/2);v=floor(j-n/2);d=(u^2+v^2)^0.5;h(i,j)=1/(1+(d/20)^2);%定义巴特沃斯低通滤波器fe(i,j)=h(i,j)*fc(i,j);%进行巴特沃斯低通滤波endend[m,n]=size(fc);%获取频谱图大小fori=1:m%进行点运算forj=1:nu=floor(i-m/2);%计算频率平面道远点的距离v=floor(j-n/2);d=(u^2+v^2)^0.5;ifd<20%定义理想低通滤波器h(i,j)=1;elseh(i,j)=0;endfa(i,j)=h(i,j)*fc(i,j);endendFF=ifftshift(fe);%对经巴特沃斯处理的频谱进行逆移中ff=real(ifft2(FF));%取傅里叶逆变换的实数部分AA=ifftshift(fa);%对经理想滤波处理的频谱进行逆移中aa=real(ifft2(AA));%取傅里叶逆变换的实数部分subplot(2,3,5);%显示2行3列第五幅图像imshow(uint8(ff));%显示图像subplot(2,3,6);%显示2行3列第六幅图像imshow(uint8(aa));%显示图像%%%%截止频率为70i=imread('noise1.bmp');%读入图像subplot(2,3,1);%显示2行3列第一幅图像imshow(i);%显示图像a=fft2(double(i));%进行傅里叶变换subplot(2,3,2);%显示2行3列第二幅图像imshow(abs(a),[]);%显示实数部分s=log(1+abs(a));%进行对数运算,降低灰度值subplot(2,3,3);%显示2行3列第三幅图像%获取频谱图大小imshow(abs(s),[]);%显示降低灰度后的傅里叶频谱fc=fftshift(a);%把频谱移中s=log(a+abs(fc));%把移中的频谱进行对数运算,提高灰度subplot(2,3,4);%显示2行3列第四幅图像imshow(abs(s),[]);%显示图像[m,n]=size(fc);%获取频谱图大小fori=1:m%进行点运算forj=1:nu=floor(i-m/2);%计算频率平面道远点的距离v=floor(j-n/2);d=(u^2+v^2)^0.5;h(i,j)=1/(1+(d/80)^2);%定义巴特沃斯低通滤波器fe(i,j)=h(i,j)*fc(i,j);%进行巴特沃斯低通滤波endend[m,n]=size(fc);fori=1:m%进行点运算forj=1:nu=floor(i-m/2);%计算频率平面道远点的距离v=floor(j-n/2);d=(u^2+v^2)^0.5;ifd<70%定义理想低通滤波器h(i,j)=1;elseh(i,j)=0;endfa(i,j)=h(i,j)*fc(i,j);endendFF=ifftshift(fe);%对经巴特沃斯处理的频谱进行逆移中ff=real(ifft2(FF));%取傅里叶逆变换的实数部分AA=ifftshift(fa);%对经理想滤波处理的频谱进行逆移中aa=real(ifft2(AA));%取傅里叶逆变换的实数部分subplot(2,3,5);%显示2行3列第五幅图像imshow(uint8(ff));%显示图像subplot(2,3,6);%显示2行3列第六幅图像imshow(uint8(aa));%显示图像*************自定义滤波器*************************************clcclearalli=imread('noise1.bmp');%读入图像i=double(i)/255;%数值转换figure;[f1,f2]=freqspace(21,'meshgrid');%频率响应的频率空间Hd=ones(21);r=sqrt(f1.^2+f2.^2);Hd((r<0.08)|(r>0.3))=0;%所需的滤波器subplot(131),mesh(f1,f2,Hd)win=fspecial('gaussian',21,2);%高斯滤波器win=win./max(win(:));%归一化subplot(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论