实验五图像复原_第1页
实验五图像复原_第2页
实验五图像复原_第3页
实验五图像复原_第4页
实验五图像复原_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、 信息工程学院实验报告成 绩:指导老师(签名):课程名称:数字图像处理 实验项目名称:实验五 图像复原 实验时间:2016.12.02 班级: 姓名: 学号: 一、实验目的1.了解图像退化/复原处理的模型; 2. 掌握图像复原的原理及实现方法;3. 通过本实验掌握利用MATLAB编程实现图像的恢复。4. 掌握matlab代码的调试方法,熟悉常见代码错误及改正方法。二、实验步骤及结果分析MATLAB图像处理工具箱包含四个图像复原函数,请参照教材第126页例6.8编程实现图像复原。1用点扩散(PSF)函数创建运动模糊图像,修改参数改变模糊程度。a) 无噪声运动模糊图像b) 有噪声运动模糊图像程序代

2、码:第 8 页 共 8 页I=imread('cameraman.tif'); %读取图像subplot(1,3,1);imshow(I,);%显示图像title('原始图像');PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理subplot(1,3,2);imshow(Blurred,);title('无噪声运动模糊图像'); %显示无

3、噪声运动模糊图像Noise=0.05*randn(size(I); %正态分布的随机噪声BlurredNoisy=imadd(Blurred,im2uint8(Noise);%对退化后的图像附加噪声subplot(1,3,3);imshow(BlurredNoisy,);title('有噪声运动模糊图像'); %显示运动模糊且加噪声后图像执行结果:图1 无噪声和有噪声的运动模糊图像实验结果分析:采用仿真的方法对清晰的图像加以运动模糊,形成模糊的图像。用这种模型来描述由于目标或摄像头运动,而导致的图像模糊。 同时在加入正态分布的随机噪声图像显得更加灰暗。2用维纳滤波复原函数dec

4、onvwnr 对模糊图像进行复原重建。a) 对无噪声运动模糊图像用deconvwnr(I,PSF)进行复原;程序代码:I=imread('cameraman.tif'); %读取图像subplot(1,3,1);imshow(I,); %显示图像title('原始图像'); PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理subplot(1,3,2);i

5、mshow(Blurred,); %显示无噪声运动模糊图像title('无噪声运动模糊图像'); WI1=deconvwnr(Blurred,PSF); %不带参数的维纳滤波(逆滤波)复原subplot(1,3,3); imshow(WI1,); %显示逆滤波复原结果title('逆滤波复原结果'); 执行结果:图2 对无噪声的运动模糊图像进行逆滤波复原实验结果分析:由实验结果可以看出,当图像无噪声或噪声较小,即轻度降质时,采用逆滤波恢复的方法可以获得较好的结果。b) 对有噪声运动模糊图像用deconvwnr(I,PSF)、deconvwnr(I,PSF,NSR

6、) 和deconvwnr(I,PSF,NCORR,ICORR)函数进行复原。程序代码:I=imread('cameraman.tif'); %读取图像subplot(2,3,1);imshow(I,); %显示图像title('原始图像');PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理Noise=0.05*randn(size(I); %正态分布的随

7、机噪声BlurredNoisy=imadd(Blurred,im2uint8(Noise);%对退化后的图像附加噪声subplot(2,3,2);imshow(BlurredNoisy,); %显示运动模糊且加噪声后图像title('运动模糊且加噪声后图像');WI1=deconvwnr(BlurredNoisy,PSF); %不带参数的维纳滤波(逆滤波)复原subplot(2,3,3); imshow(WI1,); %显示逆滤波复原结果title('逆滤波复原结果');NSR=sum(Noise(:).2)/sum(im2double(I(:).2);%计算噪

8、信比WI2=deconvwnr(BlurredNoisy,PSF,NSR); %带噪信比参数的维纳滤波复原subplot(2,3,4);imshow(WI2,); %显示带噪信比参数维纳滤波复原结果title('带噪信比参数维纳滤波复原结果');NP=abs(fftn(Noise).2;NCORR=real(ifftn(NP); %计算噪声的自相关函数IP=abs(fftn(im2double(I).2;ICORR=real(ifftn(IP); %计算信号的自相关函数WI3=deconvwnr(BlurredNoisy,PSF,NCORR,ICORR); %带自相关函数的维纳

9、滤波复原subplot(2,3,5);imshow(WI3,); title('带自相关函数的维纳滤波复原');执行结果:图3 对运动模糊退化且加噪声的图像进行维纳滤波实验结果分析:比较复原结果可以发现,在对图像和噪声信息都未知的情况下采用不带参数的维纳滤波(逆滤波)形式进行复原效果很不好,在已知信噪比NSR参数的情况的维纳滤波复原效果有了较大的改善,在已知噪声和原图像的自相关函数等参数的情况下的维纳滤波复原效果最佳。c) 在实际应用过程中,常常无法准确得知噪声图像和理想图像的功率谱,试着用常数K来代替NSR,并通过实验观察不同K对图像复原效果的影响。程序代码:I=imread

10、('cameraman.tif'); %读取图像subplot(1,3,1);imshow(I,);%显示图像title('原始图像');PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理Noise=0.05*randn(size(I); %正态分布的随机噪声BlurredNoisy=imadd(Blurred,im2uint8(Noise);%对退化后的

11、图像附加噪声WI1=deconvwnr(BlurredNoisy,PSF); %不带参数的维纳滤波(逆滤波)复原NSR=sum(Noise(:).2)/sum(im2double(I(:).2); %计算噪信比WI2=deconvwnr(BlurredNoisy,PSF,NSR); %带噪信比参数的维纳滤波复原subplot(2,3,1);imshow(WI2,); %显示带噪信比参数维纳滤波复原结果title('NSR取均值复原结果');WI3=deconvwnr(BlurredNoisy,PSF,0.005); %噪信比取0.005参数的维纳滤波复原subplot(2,3,

12、2);imshow(WI3,); title('NSR=0.005复原结果');WI4=deconvwnr(BlurredNoisy,PSF,0.001); %带噪信比取0.002参数的维纳滤波复原subplot(2,3,3);imshow(WI4,); %显示带噪信比参数维纳滤波复原结果title('NSR=0.001复原结果'); WI5=deconvwnr(BlurredNoisy,PSF,0.01); %带噪信比取0.01参数的维纳滤波复原subplot(2,3,4);imshow(WI5,); %显示复原结果title('NSR=0.01复原结

13、果');WI6=deconvwnr(BlurredNoisy,PSF,0.05); %带噪信比取0.05参数的维纳滤波复原subplot(2,3,5);imshow(WI6,); title('NSR=0.05复原结果');WI7=deconvwnr(BlurredNoisy,PSF,0.1); %带噪信比取0.1参数的维纳滤波复原subplot(2,3,6);imshow(WI7,); %显示复原结果title('KNS=0.1复原结果');执行结果:图4 不同噪信比参数的维纳滤波复原实验结果分析:由实验结果可知,在带噪信比参数的维纳滤波复原中,当NS

14、R取均值时滤波效果是最好的,随着滤波中NSB由均值减小时,图像的模糊运动减小但同时噪声增强了;反之,当NSB由均值增大时,图像的模糊运动增强噪声减小了。三、实验中遇到问题及解决方法1. 图像复原和图像增强两者之间的区别。图像复原又称为图像恢复,图像复原和图像增强一样,都是为了改善图像视觉效果,以及便于后续处理。只是图像增强方法更偏向主观判断,而图像恢复则是根据图像畸变或退化原因,进行模型化处理。四、实验心得体会通过这个实验,使我对图像复原和图像增强两者之间的区别有了更加清晰的认识;在实验过程中了解了维纳滤波的原理,功能以及在图像处理方面的应用。维纳滤波器是对噪声背景下的信号进行估计,它是最小均

15、方误差准则下的最佳线性滤波器,在已知信噪比NSR参数的情况的维纳滤波复原效果有较大的改善。五、源程序清单%1用点扩散(PSF)函数创建运动模糊图像,修改参数改变模糊程度。I=imread('cameraman.tif'); %读取图像subplot(1,3,1);imshow(I,);%显示图像title('原始图像');PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对

16、图像运动模糊处理subplot(1,3,2);imshow(Blurred,);title('无噪声运动模糊图像'); %显示无噪声运动模糊图像Noise=0.05*randn(size(I); %正态分布的随机噪声BlurredNoisy=imadd(Blurred,im2uint8(Noise);%对退化后的图像附加噪声subplot(1,3,3);imshow(BlurredNoisy,);title('有噪声运动模糊图像'); %显示运动模糊且加噪声后图像%2用维纳滤波复原函数deconvwnr 对模糊图像进行复原重建。 %a) 对无噪声运动模糊图像用d

17、econvwnr(I,PSF)进行复原;I=imread('cameraman.tif'); %读取图像subplot(1,3,1);imshow(I,); %显示图像title('原始图像'); PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理subplot(1,3,2);imshow(Blurred,); %显示无噪声运动模糊图像title('

18、;无噪声运动模糊图像'); WI1=deconvwnr(Blurred,PSF); %不带参数的维纳滤波(逆滤波)复原subplot(1,3,3); imshow(WI1,); %显示逆滤波复原结果title('逆滤波复原结果'); %2用维纳滤波复原函数deconvwnr 对模糊图像进行复原重建。 %b) 对有噪声运动模糊图像用deconvwnr(I,PSF)、deconvwnr(I,PSF,NSR)和deconvwnr(I,PSF,NCORR,ICORR)函数进行复原I=imread('cameraman.tif'); %读取图像subplot(2,

19、3,1);imshow(I,); %显示图像title('原始图像');PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理Noise=0.05*randn(size(I); %正态分布的随机噪声BlurredNoisy=imadd(Blurred,im2uint8(Noise);%对退化后的图像附加噪声subplot(2,3,2);imshow(BlurredNoisy,

20、); %显示运动模糊且加噪声后图像title('运动模糊且加噪声后图像');WI1=deconvwnr(BlurredNoisy,PSF); %不带参数的维纳滤波(逆滤波)复原subplot(2,3,3); imshow(WI1,); %显示逆滤波复原结果title('逆滤波复原结果');NSR=sum(Noise(:).2)/sum(im2double(I(:).2);%计算噪信比WI2=deconvwnr(BlurredNoisy,PSF,NSR); %带噪信比参数的维纳滤波复原subplot(2,3,4);imshow(WI2,); %显示带噪信比参数维纳

21、滤波复原结果title('带噪信比参数维纳滤波复原结果');NP=abs(fftn(Noise).2;NCORR=real(ifftn(NP); %计算噪声的自相关函数IP=abs(fftn(im2double(I).2;ICORR=real(ifftn(IP); %计算信号的自相关函数WI3=deconvwnr(BlurredNoisy,PSF,NCORR,ICORR); %带自相关函数的维纳滤波复原subplot(2,3,5);imshow(WI3,); title('带自相关函数的维纳滤波复原');%2用维纳滤波复原函数deconvwnr 对模糊图像进行复

22、原重建。 %c) 对有噪声运动模糊图像用deconvwnr(I,PSF)、deconvwnr(I,PSF,NSR)和deconvwnr(I,PSF,NCORR,ICORR)函数进行复原I=imread('cameraman.tif'); %读取图像subplot(1,3,1);imshow(I,);%显示图像title('原始图像');PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11Blurred=imfilter(I,PSF,'conv','circular

23、9;); %对图像运动模糊处理Noise=0.05*randn(size(I); %正态分布的随机噪声BlurredNoisy=imadd(Blurred,im2uint8(Noise);%对退化后的图像附加噪声subplot(1,3,2);imshow(BlurredNoisy,); %显示运动模糊且加噪声后图像title('运动模糊且加噪声后图像');WI1=deconvwnr(BlurredNoisy,PSF); %不带参数的维纳滤波(逆滤波)复原subplot(1,3,3); imshow(WI1,); %显示逆滤波复原结果title('逆滤波复原结果'); figureNSR=sum(Noise(:).2)/su

温馨提示

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

评论

0/150

提交评论