理查森-露西反卷积是否可以恢复潜在内核? [英] Would Richardson–Lucy deconvolution work for recovering the latent kernel?

查看:113
本文介绍了理查森-露西反卷积是否可以恢复潜在内核?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道理查森-露西反卷积用于恢复潜像,但是假设我们有一个嘈杂的图像和原始图像.我们可以找到导致转换的内核吗?

I am aware that Richardson–Lucy deconvolution is for recovering the latent image, but suppose we have a noisy image and the original image. Can we find the kernel that caused the transformation?

以下是 Richardson-Lucy反卷积的MATLAB代码我想知道是否很容易修改并使其恢复内核,而不是潜在的图像.我的想法是,将卷积选项更改为valid,这样输出将代表内核,您怎么看?

Below is a MATLAB code for Richardson-Lucy deconvolution and I am wondering if it is easy to modify and make it recover the kernel instead of the latent image. My thoughts are that we change the convolution options to valid so the output would represent the kernel, what do you think?

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

谢谢.

推荐答案

这是一个非常简单的问题.卷积是可交换的.因此,您无需更改RL反卷积的实现即可获得PSF,只需按以下方式进行调用即可:

This is a very simple problem. Convolution is commutative. Hence, you don't need to change the implementation of RL deconvolution to obtain PSF, you can simply call it as follows:

psf = RL_deconvolution(observed, latent_est, iterations)

这篇关于理查森-露西反卷积是否可以恢复潜在内核?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆