使用Lucy-Richardson算法的迭代非线性复原
其中,fr代表复原的图像,g代表退化的图像,PSF是点扩散函数,NUMIT为迭代次数(默认为10次),DAMPAR是一个标量,它指定了结果图像与原图像g之间的偏离阈值。WEIGHT是一个与g同样大小的数组,它为每一个像素分配一个权重来反映其重量。
L-R算法程序:
I=imread('C:\ok\苹果.jpg');
PSF=fspecial('gaussian',5,5) ;
Blurred=imfilter(I,PSF,'symmetric','conv');
V=.003;
BN=imnoise(Blurred,'gaussian',0,V);
luc=deconvlucy(BN,PSF,5);
figure
subplot(2,2,1);
imshow(I);
title('原始图像');
subplot(2,2,2);
imshow (Blurred);
title('模糊后的图像');
subplot(2,2,3);
imshow (BN);
title('加噪后的图像');
subplot(2,2,4);
imshow (luc);
title('恢复后的图像');
模拟实验结果如下:
用Lucy-Richardson算法可以较好的恢复图像[1]。但由于迭代产生的噪声痕迹是最大化可能性数据逼近法的常见问题,在低信噪比条件下,恢复图像可能会出现一些斑点,这些斑点并不代表图像的真实结构,只不过是恢复图像过于逼近噪声所产生的结果。另外此法存在一些较严重的缺陷,一是噪声放大问题,二是对于恢复图像中的不同部分,分别执行多少迭代才合适的问题。因为图像中信噪比高的部分可能需要数百次迭代才能获得满意的结果;而另一些光滑的对象可能只需很少次数即可达到满意的结果,所以适当选择迭代次数对图像恢复也很重要。这两个问题若得不到解决,将会对最终结果产生不利影响。