- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DeblurringImagesUsingtheWienerFilter.doc
Deblurring Images Using the Wiener Filter
采用Wiener Filter实现图像的去模糊(是一种图像的复原技术)
Step 1: 读取图像(彩色图像)
I = imread(peppers.png);
I = I(10+[1:256],222+[1:256],:);
figure;imshow(I);
title(Original Image);
Step 2: 模拟运动模糊(一种非常常见的模糊,由于摄像机的抖动而产生的)
下面是加入一个31pixel,11度的运动模糊。
LEN = 31;
THETA = 11;
PSF = fspecial(motion,LEN,THETA);
Blurred = imfilter(I,PSF,circular,conv);
figure; imshow(Blurred);
title(Blurred);
Step 3: 恢复模糊的图像。
这里假定我们能够获得产生的运动模糊的模型(上一步中的运动模糊系统是已知的,所以去卷积的时候采用上面的失真函数PSF)
wnr1 = deconvwnr(Blurred,PSF);
figure;
imshow(wnr1);
title(Restored, True PSF);
另外一种恢复的方法:我们不知到准确的失真函数,但是知道该模糊是由一个运动角度(THETA)和速度(LEN),但是速度的模型是与实际的模型不相等,相差一倍,这样我们一样可以构造该运动的模型,恢复的结果如下:
wnr2 = deconvwnr(Blurred,fspecial(motion,2*LEN,THETA));
figure;
imshow(wnr2);
title(Restored, Long PSF);
如果速度是一半,恢复的结果如下(可以看到,恢复的结果只是将图像没有完全恢复到原始的位置。所以出现了重影):
wnra = deconvwnr(Blurred,fspecial(motion,LEN/2,THETA));
figure;
imshow(wnra);
title(Restored, Short PSF);
同样的原理,我们再来看如果恢复中,运动的角度不够准确,结果如下(两倍的角度):
wnr3 = deconvwnr(Blurred,fspecial(motion,LEN,2*THETA));
figure;
imshow(wnr3);
title(Restored, Steep);
Step 4: 下面讨论另外一种情况,对加性噪声图像的恢复
往步骤2产生的运动模糊图像中再加入加性噪声,
noise = 0.1*randn(size(I));
BlurredNoisy = imadd(Blurred,im2uint8(noise));
figure;
imshow(BlurredNoisy);
title(Blurred Noisy);
Step 5: 对上面的模糊加性噪声图像恢复
(可以看出,恢复的效果很不好,主要原因是噪声的幅度没有很好的控制)
wnr4 = deconvwnr(BlurredNoisy,PSF);
figure;imshow(wnr4);
title(Inverse Filtering of Noisy Data);
控制噪声的幅度NSR(噪信比Noise-Signal-Ratio).
NSR = sum(noise(:).^2)/sum(im2double(I(:)).^2);
wnr5 = deconvwnr(BlurredNoisy,PSF,NSR);
figure;imshow(wnr5);
title(Restored with NSR);
这里的效果明显好于没有控制噪声幅度的恢复情况。不同的NSR可以得到不同的恢复结果。下面是NSR较小的时候得到的恢复结果:
wnr6 = deconvwnr(BlurredNoisy,PSF,NSR/2);
figure;imshow(wnr6);
title(Restored with NSR/2);
文档评论(0)