是什么使卷积内核可分离?我怎样才能分辨出那些可分离的部分是为了进行两个1D卷积而不是2D卷积>

谢谢

最佳答案

如果2D过滤器内核的rank为1,则它是可分离的。您可以在例如Matlab或Octave:

octave-3.2.3:1>     sobel = [-1 0 1 ; -2 0 2 ; -1 0 1];
octave-3.2.3:2>     rank(sobel)
ans =  1
octave-3.2.3:3>

另请参见:http://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/-这涉及使用SVD(奇异值分解)从可分离的2D内核中提取两个1D内核。

另请参阅有关DSP.stackexchange.com的问题:Fast/efficient way to decompose separable integer 2D filter coefficients

07-24 19:29