我试图通过Wiener deconvolution对以下图像进行辩论。我没有得到原始的PSF,我想出了噪声系数的任意值。我尝试通过玩sigma值来优化代码,但我无法让它工作。
我的代码......
img = im2double(imread('C:\Users\adhil\Desktop\matlab pics\test.JPG'));
LEN = 2;
THETA = 5;
PSF = fspecial('gaussian', LEN, THETA);
wnr1 = deconvwnr(img, PSF, 0.0000001);
imshow(wnr1);
title('Restored Image');
subplot(1,2,1);imshow(img);title('Before');
subplot(1,2,2);imshow(wnr1);title('After');
这是结果......
请告知
答案 0 :(得分:1)
如果您不知道点扩散函数是什么,或者您尝试的是远离实际点扩散函数的近似值,那么Wiener反卷积将无法很好地工作,因为它依赖于知道点扩散函数。 / p>
尝试盲解卷积(Matlab函数)可能会有更好的结果:
deconvblind
使用与高斯PSF猜测相同大小的数组作为初始PSF(使用Matlab文档建议的数组)。