【发布时间】:2014-03-12 20:08:43
【问题描述】:
我知道 Richardson-Lucy 反卷积是用于恢复潜在图像,但假设我们有一个嘈杂的图像和原始图像。我们能找到导致转换的内核吗?
下面是Richardson-Lucy deconvolution 的 MATLAB 代码,我想知道它是否易于修改并使其恢复内核而不是潜在的图像。我的想法是我们将卷积选项更改为valid,因此输出将代表内核,您怎么看?
function latent_est = RL_deconvolution(observed, psf, iterations)
% to utilise the conv2 function we must make sure the inputs are double
observed = double(observed);
psf = double(psf);
% initial estimate is arbitrary - uniform 50% grey works fine
latent_est = 0.5*ones(size(observed));
% create an inverse psf
psf_hat = psf(end:-1:1,end:-1:1);
% iterate towards ML estimate for the latent image
for i= 1:iterations
est_conv = conv2(latent_est,psf,'same');
relative_blur = observed./est_conv;
error_est = conv2(relative_blur,psf_hat,'same');
latent_est = latent_est.* error_est;
end
提前致谢。
【问题讨论】:
-
嗨,issamou,我正在研究一个与 Matlab 非常相似的问题。终于奏效了吗?非常感谢。
-
嗨@theholy,是的,我在这里使用stackoverflow.com/questions/19150516/… 的解决方案进行反卷积(或提取内核)
-
非常感谢伙计!我去看看
标签: matlab kernel neural-network fft convolution