【问题标题】:Usage of the gaussian blur高斯模糊的使用
【发布时间】:2012-12-11 21:01:09
【问题描述】:

我现在阅读了大量关于高斯模糊的不同解释,我真的很困惑。

我大致了解高斯模糊的工作原理。 http://en.wikipedia.org/wiki/Gaussian_blur

我知道我们选择 3*sigma 作为掩码的最大尺寸,因为值会变得非常小。

但我的三个问题是:

  1. 如何仅使用 sigma 创建高斯蒙版?

  2. 如果我理解正确,面具会给我权重,然后 我将蒙版放在左上角的像素上。我乘以权重 掩码中像素的每个值。然后我将面具移动到 下一个像素。我对所有像素都这样做。这是正确的吗?

  3. 我也知道一维蒙版更快。所以我为 x 和 a 创建了一个掩码 y 的掩码。假设我的面具看起来像这样。 (3x3)

1 2 1

2 4 2

1 2 1

我的 x 和 y 蒙版会是什么样子?

【问题讨论】:

  • 意识到您的 3x3 示例只是一个近似值。

标签: image image-processing gaussian


【解决方案1】:

1- 创建高斯蒙版的一种解决方案是通过N 设置N 矩阵,使用N=3*sigma(如果您想要更粗略的解决方案,则使用更少),并用@987654325 填充每个条目(i,j) @。正如评论所述,采用N=3*sigma 仅意味着您将高斯截断在“足够小”的阈值处。

2-是的-您理解正确。一个小细节是,您需要通过权重的总和进行归一化(即,将您所说的结果除以矩阵中所有元素的总和)。另一种选择是您可以构建已经归一化的矩阵,这样您就不需要在最后执行此归一化(归一化的高斯公式变为exp(-((i-N/2)^2 + (j-N/2)^2)/(2*sigma^2))/(2*pi*sigma)

3- 在您的特定情况下,一维版本是[1 2 1](即,您的xy 掩码),因为您可以通过乘法transpose([1 2 1]) * [1 2 1] 获得您给出的矩阵。一般来说,您可以使用与上述类似的一维高斯公式直接构建这些一维高斯:exp(-((i-N/2)^2)/(2*sigma^2))(或标准化版本exp(-((i-N/2)^2)/(2*sigma^2)) / (sigma*sqrt(2*pi))

【讨论】:

  • 你的归一化高斯公式只有在你不截断它的情况下才有效,这是不可能的。最好将实际矩阵值相加并除。
猜你喜欢
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 2018-05-01
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多