通过分解掩模进行2D卷积

时间:2013-12-04 04:54:09

标签: c++ convolution

有没有办法通过将掩码分成2个较小的块并将2个卷积的结果组合起来得到原始的单掩码卷积结果来执行两个矩阵(图像和掩码)的卷积?

1 个答案:

答案 0 :(得分:1)

是的,由于卷积的线性,你可以将其分解为:

I * M = I *(M1 + M2)= I * M1 + I * M2

其中M是您的原始掩码,M1和M2是两个较小的块。

例如,M可能是

M = [ 1 1 2 
      2 1 3
      2 1 8 ]

M1 = [ 0 0 0
       0 1 3
       0 1 8 ]

M2 = [ 1 1 2 
       2 0 0 
       2 0 0 ]

请注意,如果你这样做,并且你想将M1表示为较小的,

M1 = [ 1 3 
       1 8 ]

在将它们重新添加之前,您必须正确对齐它们。