内核通过过滤对图像的影响

信息处理 图像处理 过滤器 卷积
2022-02-05 05:26:08

我正在阅读一份旧试卷并试图理解这个问题,他们要求我们告诉他们如果以下图像过滤器与图像卷积会产生什么影响:

     0     0     0     0     1     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     1
     0     0     0     0     0     0     0
     1     0     0     0     0     0     0

现在通过使用 Matlab,我可以很容易地看出这会使图像变得模糊。但我想知道的是,仅通过查看此过滤器如何知道应用此过滤器时图像会变得模糊?

这是我正在使用的原始形式的图像:

在此处输入图像描述

这是在 Matlab 中与内核卷积后的相同图像:

在此处输入图像描述

我会很感激这里的解释,或者如果有人能指出我在线阅读的正确方向,我也会很感激。

3个回答

与以下内核的卷积返回信号不变。

 0     0     0     0     0     0     0
 0     0     0     0     0     0     0
 0     0     0     0     0     0     0
 0     0     0     1     0     0     0
 0     0     0     0     0     0     0
 0     0     0     0     0     0     0
 0     0     0     0     0     0     0

如果“1”右移一位,卷积输出也将右移一位。

如果“1”是“2”,则卷积输出将加倍(按 2 缩放)。

如果内核中有多个非零数,则卷积输出将是每个缩放和移位副本的加法。

对于您的内核

 0     0     0     0     1     0     0
 0     0     0     0     0     0     0
 0     0     0     0     0     0     0
 0     0     0     0     0     0     0
 0     0     0     0     0     0     1
 0     0     0     0     0     0     0
 1     0     0     0     0     0     0

输出是信号的三个副本相加,分别移动 (1,3)、(3,-1) 和 (-3,-3) 并按 1 缩放。不过我不会称之为模糊。

您需要了解卷积的工作原理。您可以通过将滤镜放在图像上来应用滤镜。然后计算所有 P(x,y)*C(x,y)=v 的总和。然后用 v 替换中心像素值(位于过滤器中心下方的像素值)。这是像素的新值 然后在每个可能的方向上向上、向下、向左滑动过滤器,并替换所有像素与新计算的 v 的过滤器中心重合。最终你得到一个过滤器图像。滤波器的系数将定义这是哪种类型的滤波器:高、低或其他。要成为高通滤波器,它需要使所有系数相等,使得系数的总和为 1。(虽然这不是严格需要的)。这是因为当您采用相等的系数时,您实际上是平等地从所有相邻像素中获取效果并用这种效果替换像素。因此,您已将“更改”降至最低。这是低通滤波。

在目前的情况下,尚不清楚您如何知道它是模糊过滤器。实际上可以看出它不是低通或模糊滤镜。为什么我这么说?因为您查看的滤波器系数大多为零。在模糊滤镜(这是一个低通滤镜)中,想法是“平等地”获取相邻效果,并用这种相邻效果替换相关像素。在您的情况下,实际上您正在从相距很远的像素中获取效果,因为那里只有系数 1。所以不能说它是真正意义上的模糊。

如果你拍摄一张完整的白色图像,想想过滤后它会是什么样子?对于 8 位图像,它将是:每个像素将替换为 (256 + 256 +256)= 256。因此图像将保持原样。这里我们忽略了边界条件。一般来说,我们可以说每个 v 值将与所讨论像素的实际相邻像素有很大不同。

稍后我将在此答案中添加更多内容。

我会说它确实将原始图像的三个移位副本相加。移位由内核中 1 的位置给出。

如果内核被归一化(即 1/3 而不是每个 1),结果将是三个移位图像的平均值。