Matlab imfilter的默认值是相关性。解卷积如何解卷积?

Matlab imfilter的默认值是相关性。解卷积如何解卷积?,matlab,image-processing,convolution,Matlab,Image Processing,Convolution,我今天才意识到,MATLAB默认的imfilter卷积方法根本不是卷积,而是相关 不过,我想知道这是如何通过deconvblind改变结果的?它使用最大似然算法,但它是对相关卷积的图像还是卷积的图像使用最大似然算法 请帮帮我!我在MathWorks网站上根本找不到任何关于这方面的信息。这或多或少是使用卷积的。但是,这不是在空间域中进行的,而是在频率域中进行的。通过在MATLAB命令提示符中使用open deconvblind查看deconvblind的实际源代码,您可以大致了解该方法的作用。具体

我今天才意识到,MATLAB默认的
imfilter
卷积方法根本不是卷积,而是相关

不过,我想知道这是如何通过
deconvblind
改变结果的?它使用最大似然算法,但它是对相关卷积的图像还是卷积的图像使用最大似然算法


请帮帮我!我在MathWorks网站上根本找不到任何关于这方面的信息。

这或多或少是使用卷积的。但是,这不是在空间域中进行的,而是在频率域中进行的。通过在MATLAB命令提示符中使用
open deconvblind
查看
deconvblind
的实际源代码,您可以大致了解该方法的作用。具体来说,您想了解的相关部分位于源代码的中间:

% 2.c Determine next iteration image & apply positivity constraint
J{3} = J{2};
H = psf2otf(P{2},sizeI);
scale = real(ifftn(conj(H).*fw)) + sqrt(eps);
J{2} = max(Y.*real(ifftn(conj(H).*CC))./scale,0);
clear scale;
J{4} = [J{2}(:)-Y(:) J{4}(:,1)];
clear Y H;
细胞阵列
J
包含解卷积图像,您可以看到图像是使用频域中两个图像乘积的逆FFT获得的,这本质上是卷积

如果你回想一下傅里叶变换的特性,那么空间域中的卷积就是频率的乘法。我不会讨论实际的算法,因为你只是想知道它是卷积还是相关,但是MathWorks确实引用了一些相关的论文,这些论文是
deconvblind
算法使用的

见:

  • “迭代图像恢复算法的加速”,D.S.C.Biggs著 和M.Andrews,《应用光学》,第36卷,第8期,1997年

  • “哈勃太空望远镜图像和光谱的反褶积”,R.J.Hanisch,R.L.White和R.L.Gilliland,在“图像的反褶积”中 和光谱”,P.A.Jansson版,第二版,学术出版社,加利福尼亚州,1997年

  • 用最大似然法重建光学显微镜图像 “反褶积”,Timothy J.Holmes等人,在《反褶积手册》中 生物共焦显微镜”,詹姆斯·B·帕利主编,全会 新闻界,纽约,1995年


  • FWIW,过滤图像时的相关和卷积不重要如果卷积掩码是对称的。卷积取核并在元素乘积和求和之前将其旋转180度。相关不进行此旋转,但元素乘积和求和是相同的。如果核s对称,这意味着将遮罩旋转180度将得到相同的遮罩。如果遮罩不是这样,您可以在
    imfilter
    中指定
    'conv'
    标志,以指定要执行卷积。

    非常感谢!您关于对称性的说明帮助很大……它提醒了我为什么我在做。我想我是s直到大多数人都不明白为什么Matlab的imfilter在函数通过卷积反卷积时使用相关性而不是卷积。@user1723196-在不必将卷积矩阵旋转180度的情况下,相关性稍微快一点。在空间版本方面,您真的看不到太大的差异,因为操作是同样的。顺便说一下,如果我有帮助的话,请考虑接受我的答案。这可以通过点击我头顶上的复选标记图标,在左上下箭头下方的位置来完成。祝你好运!