我现在读了很多关于高斯模糊的不同解释,我真的很困惑。
我粗略地理解高斯模糊是如何工作的。 http://en.wikipedia.org/wiki/Gaussian_blur
我知道我们选择3 * sigma作为我们蒙版的最大尺寸,因为这些值会非常小。
但我的三个问题是:
如何仅使用sigma创建高斯蒙版?
如果我理解正确的话,面具会给我权重 我将掩码放在左上角的像素上。我乘以权重 掩码中像素的每个值。然后我将面具移动到 下一个像素。我为所有像素执行此操作。这是对的吗?
1 2 1
2 4 2
1 2 1
我的x和y面具怎么样?
答案 0 :(得分:2)
1-创建高斯模板的解决方案是设置N
到N
矩阵,N=3*sigma
(或更少,如果你想要更粗糙的解决方案),并填写每个条目(i,j)
exp(-((i-N/2)^2 + (j-N/2)^2)/(2*sigma^2))
N=3*sigma
。正如所提到的评论一样,取exp(-((i-N/2)^2 + (j-N/2)^2)/(2*sigma^2))/(2*pi*sigma)
只意味着你将高斯截断为“足够小”的阈值。
[1 2 1]
)
3-在您的具体情况下,1D版本为x
(即您的y
和transpose([1 2 1]) * [1 2 1]
掩码),因为您可以通过乘法获取您提供的矩阵{{ 1}}。通常,您可以使用与上述类似的1D高斯公式直接构建这些1D高斯:exp(-((i-N/2)^2)/(2*sigma^2))
(或标准化版本exp(-((i-N/2)^2)/(2*sigma^2)) / (sigma*sqrt(2*pi))
)