需要解释分离线性滤波器

时间:2016-06-30 19:05:07

标签: image-processing

我很难理解x和y轴上线性滤波器的分离。根据{{​​3}},可以将高斯模糊分开:

Wikipedia

我无法理解这种情况。首先考虑方程式的正确方面。滤波器表示1/16 *(左上角像素+ 2 *顶部像素+右上角像素+ ...)。现在方面说了些什么? 1/4 *(顶部+ 2 *中间+底部)* 1/4 *(左+ 2 *中+右)?

很明显我弄错了。现在做正确的方法是什么?右侧滤波器可以应用于每个像素。那么我们如何应用左侧滤波器呢?

1 个答案:

答案 0 :(得分:1)

  

右侧滤镜可应用于每个像素。那么我们如何应用左侧滤波器呢?

左侧执行卷积作为两步处理*。

  1. 使用内核的垂直投影卷积输入图像的每一列以创建中间图像。
  2. 使用内核的水平投影卷积中间图像的每一行。
  3. 请注意,这些步骤是可交换的(第一行,第二列产生相同的结果)。考虑示例像素:

    a b c
    d e f
    g h i
    

    使用您发布的内核:

        |1|                      |1 2 1|
    1/4 |2| * 1/4 [1 2 1] = 1/16 |2 4 2|
        |1|                      |1 2 1|
    

    使用2D内核(右侧),得到的单元格e为:

    1/16*(a + 2b + c + 2d + 4e + 2f + g + 2h + i)
    

    使用单独的内核(左侧),通过垂直投影进行第一次处理:

    ai bi ci   1/4(2a+d)   1/4(2b+e)   1/4(2c+f)
    di ei fi = 1/4(a+2d+g) 1/4(b+2e+h) 1/4(c+2f+i)
    gi hi ii   1/4(d+2g)   1/4(e+2h)   1/4(f+2i)
    

    接下来,通过水平投影进行处理......这里只是查看中间单元格的计算(ei)

    1/16( 1*di + 2*ei + 1*fi) = 1/16(a + 2b + c + 2d + 4e + 2f + g + 2h + i)
    

    这与2d内核的结果相同。

    请注意,公式的左侧和右侧在数学上是相等的 - 左侧表示为两个向量的outer product ...右侧是multiplication的结果剩下。