我在OpenCV documentation for cvSmooth上发现可以从内核大小计算sigma,如下所示: sigma = 0.3(n / 2 - 1)+ 0.8
我想知道这个等式的理论背景。
谢谢。
答案 0 :(得分:5)
对sigma使用这样的值,在y=0
和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
很小的时候确保合理的价值。