figure;imsh
ow(wnr1);
(a)原图 (b)模糊化效果 (c)复原效果图
复原效果如上图所
示,其中图(a)是读取的源图像,图(b)是加高斯噪声后的模糊化图像,图(c)是利用Wiener滤波器恢复的图像。
由此可见用Wiener滤波器进行图像复原得到的效果不佳,但这主要原因是由PSH决定的,如果将上述代码中的PSF=fspecial('gaussian',7,7);改为PSF=fspecial('gaussian',7,7);,恢复的效果就大大的提高了,如下图所示:
该图为改过PSF函数后的复原图。
2利用Lucy-Richardson算法复原
Deconvlucy 函数实现一个加速衰减的Lucy-Richardson算法。本函数采用优化技术和波松统计量进行多次迭代实现对图像的复原。 程序代码:
I=imread('');
%I = I(10+[1:256],222+[1:256],:);
figure;imshow(I);
PSF=fspecial('gaussian',7,7);
Blurred=imfilter(I,PSF,'symmetric','conv'); V=;
BlurredNoisy=imnoise(Blurred,'gaussian',0,V); figure;imshow(BlurredNoisy);
luc1=deconvlucy(Blurred,PSF); Tconvlucy函数: 使用 Lucy-
Richardson 恢复;
figure;imshow(luc1);
(a)原图 (b)模糊化效果 (c)复原效果图
复原效果如上图所示,其中图(a)是读取的源图像,图(b)是加高斯噪声后的模糊化图像,图(c)是利用Lucy-Richardson算法恢复的图像。
由此可见利用 Lucy- Richardson算法可以较好的恢复图像。
除了上面介绍的图像复原方法以外,还有其他一些复原方法,例如基于傅立叶变换的图像复原法、基于小波变换的方法和基于神经网络的方法等等,这些方法在图像复原中都能产生较好的效果。然而任何一种单一的方法并不能取得很好的复原效果,所以有些研究人员结合两种方法,发挥出它们的长处来对图像进行复原。Mari.[6]
参考文献
[1]吴学锋 、吴 蔚、 张伟成.Matlab在多图像复原中的应用.中文核心期刊《微计算机信息》《管控一体化》2008年第 24卷第12-3期
[2]何东健. 数字图像处理[M]. 西安: 西安电子科技大学出版社, 2003: 261~ 279
[3] MATLAB的图像处理工具箱中图像复原函数的比较
[4]孟永定、马 佳 .基于MATLAB实现数字图像恢复.电脑学习 2007年2月第1期 [5] 罗军辉, 冯平, 哈力旦·A. 在图像处理中的应用[M] . 北京: 机械工业出版社, 2005: 257~ 277.
[6]孟军. 数字图像复原算法研究. 贵州大学硕士论文. [7]刘翠艳 。基于 MATLAB 的图像处理方法及分析。
[8] 苏金明,王永利.MATLAB图形图像[M].北京:电子工业出版社,2005年. [9] 闫华 ,刘琚 ,李道真等.基于增量维纳滤波和空间自适应规整的超分辨率图像复原 [J].电子与信息学报,2004,(1): 2-5.
[10]刘一舟, 罗 斌, 罗宏建。基于 Matlab平台的含噪图像恢复