是什么使卷积内核可分离?我怎样才能分辨出那些可分离的部分是为了进行两个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