Opencv 计算高斯滤波器';使用内核&x27;s码
我发现,从内核大小可以计算出sigma,如下所示: 西格玛=0.3(n/2-1)+0.8 我想知道这个方程式的理论背景Opencv 计算高斯滤波器';使用内核&x27;s码,opencv,filtering,gaussian,Opencv,Filtering,Gaussian,我发现,从内核大小可以计算出sigma,如下所示: 西格玛=0.3(n/2-1)+0.8 我想知道这个方程式的理论背景 谢谢。使用这样的西格玛值,在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 请
谢谢。使用这样的西格玛值,在
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
很小的情况下,它可以确保合理的值。非常感谢您的回答。请原谅我的无知,我看不到exp(-1/(2*0.3²))=0.00386592(相当于1/256)的效果。如果你能给我一个简单的解释,我将不胜感激。此外,我们不应该在(x=n/2-1,y=n/2-1)而不是(x=n/2-1,y=0)处取最远的像素吗?谢谢,你为什么要放弃高斯贝尔方程的第一部分?1/(2pi sigma^2)@filip,因为它在分区的两边都出现在g_edge/g_center
中被取消。另外,你能解释一下@AimingHigh的评论吗?:)