盲解卷积复原.ppt

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
盲解卷积复原.ppt

图像的盲解卷积恢复 在实际应用中,通常都要在没有图像退化必要的先验知识(即不知道点扩展函数)的情况下进行图像复原。盲解卷积复原就是在这种应用背景下提出的。盲解卷积复原是利用原始模糊图像,以某种方式提取出退化信息,同时估计PSF和清晰图像的一种图像复原方法。 MATLAB提供了deconvblind函数用于实现盲解卷积,该函数要重建图像和PSF。盲解卷积算法一个很好的优点就是,在对失真情况(包括噪声和模糊)毫无先验知识的情况下,仍然能够实现对模糊图像的复原操作。同时,deconvblind函数可以用于实现多种复杂图像重建修改算法。 deconvblind函数的调用格式如下: .[J,PSF]=deconvblind(I,INITPSF,NUMIT,DAMPAR,WEIGHT,READOUT) 其中,J表示复原后的图像;PSF为点扩展函数;I表示输入图像(即模糊图像);INITPSF表示PSF的估计值,与PSF具有相同的大小,且PSF复原效果强烈地受到初始化值INITPSF大小的影响;NUMIT表示算法重复次数,默认值为10;DAMPAR表示由图像I产生的偏移阀值,默认值为0,表示无阻尼;WEIGHT反映每个像素在摄取过程中的质量,如果赋以0加权值,则用来屏蔽差的像素,而好的像素则被赋以加权值1;READOUT表示摄取设备的读出噪声方差矩阵,默认值为0矩阵。 下面将通过实例来说明deconvblind()函数的使用方法。 1.图像模糊化 首先利用程序段1,读取原始图像(清晰图像),如图1-11所示,然后生成如图1-12所示的点扩展函数PSF,再对图像进行模糊化,模糊结果如图1-13所示。 图1-11 原始图像 图1-12 真实PSF 图1-13 模糊后的图像 2.图像复原 在调用deconvblind函数进行图像复原时,INITPSF 的大小是非常重要的一个指标。在实际应用中,通过分析,都是使用不同大小的PSF对图像进行重建,从中选择一个最合适的PSF值。程序段2以真实大小的INITPSF进行图像复原,得到初步复原结果,如图1-14a所示,同时初步重建PSF,如图1-14b所示。 图1-14 初步复原的图像与初步重建使用的PSF a) b) 恢复的图像存在一定的“环”,是由图像边界或灰度变化较大的部分产生的。使用WEIGHT参数可以消除环的存在:首先调用edge函数找出图像中灰度变换较大的部分,同时对图像进行膨胀操作以扩充图像的处理区域。图像边界或灰度变化较大的像素将被设置为0。然后使用所定义的WEIGHT数组对图像进行重建,得到如图1-15所示的恢复结果。由图可以看出,恢复后的图像消除了“环”的存在。 a)图像复原 b)图像复原使用的PSF 图1-15 图像复原及使用的PSF 点扩展函数 (point spread function, 简称PSF)。是描述光学系统对点源解析能力的函数。因为点源在经过任何光学系统后都会由于衍射而形成一个扩大的像点。通过测量系统的点扩展函数,能够更准确地提取图像信息。 * * 程序段1: i = imread(cameraman.tif); subplot(2,2,1),imshow(i);title(原始图像); PSF = fspecial(motion,13,45); %产生PSF subplot(2,2,2),imshow(PSF,[]);title(真实PSF); j = imfilter(i,PSF,circ,conv); %模糊化 subplot(2,2,3),imshow(j);title(模糊后图像); * 程序段2: INITPSF=ones(size(PSF)); [J P]=deconvblind(Blurred,INITPSF,30); subplot(1,2,1),imshow(J);title(初步恢复后图像); subplot(1,2,2),imshow(P,[],notruesize);title(初步重建使用的PSF); * 程序段3: WEIGHT=edge(I,sobel,.28);%sobel算子边缘提取 se1=strel(disk,1); se2=strel(line,13,45); WEIGHT=1-double(imdilate(WEIGHT,[se1 se2]));%膨胀操作,边界像素设为零 P1=P;%保存数据 P1(find(P10.01))=0;%修改PSF()函数 [J2 P2]=deconvblind(Blurred,P1,50,[],WEIGHT);%利用上面得到的WEIGHT进行盲解卷积 su

文档评论(0)

zhaojq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档