【问题标题】:Need explanation about separating linear filters需要关于分离线性滤波器的解释
【发布时间】:2016-07-01 03:55:55
【问题描述】:

我很难理解线性滤波器在 x 轴和 y 轴上的分离。根据Wikipedia,可以像这样分离高斯模糊:

我不能很好地理解这种情况。对于初学者,请考虑等式的右侧。过滤器显示 1/16*(左上像素 + 2 * 上像素 + 右上像素 + ...)。现在左边说了什么? 1/4*(上 + 2 * 中 + 下)* 1/4 *(左 + 2 * 中 + 右)?

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

【问题讨论】:

    标签: image-processing


    【解决方案1】:

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

    左侧将卷积执行为两步过程*。

    1. 将输入图像的每一列与内核的垂直投影进行卷积以创建中间图像。
    2. 将中间图像的每一行与内核的水平投影进行卷积。

    请注意,这些步骤是可交换的(行在前,列在后产生相同的结果)。考虑示例像素:

    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 的结果。

    【讨论】:

    • 这是一个很好的答案。现在一切都说得通了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    相关资源
    最近更新 更多