Matlab imfilter的默认值是相关性。解卷积如何解卷积?
我今天才意识到,MATLAB默认的Matlab imfilter的默认值是相关性。解卷积如何解卷积?,matlab,image-processing,convolution,Matlab,Image Processing,Convolution,我今天才意识到,MATLAB默认的imfilter卷积方法根本不是卷积,而是相关 不过,我想知道这是如何通过deconvblind改变结果的?它使用最大似然算法,但它是对相关卷积的图像还是卷积的图像使用最大似然算法 请帮帮我!我在MathWorks网站上根本找不到任何关于这方面的信息。这或多或少是使用卷积的。但是,这不是在空间域中进行的,而是在频率域中进行的。通过在MATLAB命令提示符中使用open deconvblind查看deconvblind的实际源代码,您可以大致了解该方法的作用。具体
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
算法使用的
见:
FWIW,过滤图像时的相关和卷积不重要如果卷积掩码是对称的。卷积取核并在元素乘积和求和之前将其旋转180度。相关不进行此旋转,但元素乘积和求和是相同的。如果核s对称,这意味着将遮罩旋转180度将得到相同的遮罩。如果遮罩不是这样,您可以在
imfilter
中指定'conv'
标志,以指定要执行卷积。非常感谢!您关于对称性的说明帮助很大……它提醒了我为什么我在做。我想我是s直到大多数人都不明白为什么Matlab的imfilter在函数通过卷积反卷积时使用相关性而不是卷积。@user1723196-在不必将卷积矩阵旋转180度的情况下,相关性稍微快一点。在空间版本方面,您真的看不到太大的差异,因为操作是同样的。顺便说一下,如果我有帮助的话,请考虑接受我的答案。这可以通过点击我头顶上的复选标记图标,在左上下箭头下方的位置来完成。祝你好运!