高斯模糊和卷积核

17

我不理解什么是卷积核以及如何将卷积矩阵应用于图像中的像素(我正在谈论对图像进行高斯模糊操作)。

还想了解如何创建高斯模糊操作的卷积核的解释。

我正在阅读这篇文章,但似乎无法理解如何操作...

感谢任何有时间向我解释这个问题的人 :)

ExtremeCoder

3个回答

16

基本思路是,新图像的像素是由其周围像素的加权平均值创建的(可以想象在像素周围画一个圆)。

对于图像中的每个像素,您将在该像素周围创建一个小方块。假设您取一个像素旁边的8个相邻像素(包括对角线,尽管在这里无关紧要),然后我们执行加权平均以得到中间像素。

在高斯模糊的情况下,它被分解为两个一维操作。对于每个像素,请仅在行方向上获取一些与像素相邻的像素数量。将像素值乘以从高斯分布计算出的权重(或者如果您进行此操作不是为了科学原因而是视觉效果,则权重可以是任何看起来好的东西),并将它们相加。另一种方法是将像素制作成向量,将权重制作成向量,并进行点积运算。然后在垂直方向上再次执行此过程。


10
一种卷积核是由数值构成的矩阵,它指定了像素邻域对最终图像中的像素状态的影响。这里有一个基础知识的相当描述,在这里。高斯模糊是一种卷积函数,它使用一个非常丑陋(你可能已经看过维基百科页面)的函数来计算卷积核以在图像上进行处理。你可以在维基百科页面中找到高斯核的示例。
所有这些数学的目的是产生一种柔和的模糊效果,类似于放置在观察者和图像之间的网格屏幕所产生的散射模式。你可以将高斯函数的“大小”(标准差)视为图像和屏幕之间距离的相关因素。

7

1
这个链接似乎已经失效了。 - hasser
1
糟糕...好吧,我找到了一个替代方案。 - Tara
1
另一个看起来目前可行的选择是:http://dev.theomader.com/gaussian-kernel-calculator/ 它似乎生成了一个归一化的核。有趣的是,这个值与Tara的链接略有不同。 - Dmitriy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接