我在cvSmooth 的 OpenCV 文档中发现 sigma 可以从内核大小计算如下:sigma = 0.3(n/2 - 1) + 0.8
我想知道这个方程的理论背景。
谢谢你。
y=0
对 sigma 使用这样的值,对于和,在内核中心和内核边缘的值之间的比率x=n/2-1
是:
g_edge / g_center = exp(-(x²+y²)/(2σ²))
= exp(-(n/2-1)²/(2*(0.3(n/2-1)+0.8)²))
这个值随着n
增加的限制是:
exp(-1/(2*0.3²)) = 0.00386592
注意1/256
是0.00390625
. 图像通常在 256 个值范围内编码。的选择0.3
确保内核考虑可能显着影响结果值的所有像素。
恐怕我对这部分没有解释,但我想它是为了在很小的0.8
时候确保合理的值。n