【问题标题】:Would Richardson–Lucy deconvolution work for recovering the latent kernel?Richardson-Lucy 反卷积能否用于恢复潜在内核?
【发布时间】: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


【解决方案1】:

这是一个非常简单的问题。卷积是可交换的。因此,您无需更改 RL 反卷积的实现即可获得 PSF,您可以简单地调用如下:

psf = RL_deconvolution(observed, latent_est, iterations)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 2011-10-23
    • 2020-10-10
    • 1970-01-01
    相关资源
    最近更新 更多