Seb*_*itz 5 c++ parameters opencv background-foreground
我有问题理解的所有参数backgroundsubtractormog2.
我查看了代码(位于bfgf_gaussmix2.cpp),但没有看到与提到的文件的连接.例如,Tb = varThreshold,但论文中Tb的名称是什么?
我对脂肪标记的参数特别感兴趣.
让我们从easy参数[我的评论]开始:
int nmixtures
允许的最大混合物组分数.每个像素动态确定实际数量.[为GMG设置0]
uchar nShadowDetection
在输出前景蒙版中标记阴影像素的值.默认值为127.
漂浮fTau
影子阈值.如果像素是背景的较暗版本,则检测阴影.Tau是一个阈值,用于定义阴影的暗度.Tau = 0.5意味着如果一个像素的深度超过两倍,那么它就不是阴影.
现在对我不明白的人:
浮动backgroundRatio
定义组件是否足够重要以包含在背景模型中的阈值(对应于TB = 1-cf,来自论文?哪篇论文??).cf = 0.1 => TB = 0.9是默认值.对于alpha = 0.001,这意味着模式在被认为是前景之前应该存在大约105帧.
float varThresholdGen
平方Mahalanobis距离的阈值,有助于确定样品何时接近现有组件(对应于Tg).如果它不接近任何组件,则生成新组件.3 sigma => Tg = 3*3 = 9是默认值.Tg值越小,产生的组分越多.较高的Tg值可能导致少量组分,但它们可能会变得太大.[我不明白这个]
在构造函数中,使用变量varThreshold.它与varThresholdGen相同吗?
平方马哈拉诺比斯距离的阈值决定它是否被背景模型很好地描述(见Cthr ??).此参数不会影响后台更新.典型值可以是4西格玛,即varThreshold = 4*4 = 16; (见Tb ??).
float fVarInit
新生成的组件的初始方差.它影响适应的速度.参数值基于您对图像的典型标准偏差的估计.OpenCV使用15作为合理的值.
浮动fVarMin
用于进一步控制方差的参数.
浮动fVarMax
用于进一步控制方差的参数.
浮动fCT
复杂性降低参数.此参数定义接受证明组件存在所需的样本数.CT = 0.05是所有样品的默认值.通过设置CT = 0,您将获得与标准Stauffer&Grimson算法非常相似的算法.
有人在OpenCV网站上问过几乎同样的问题,但没有答案.
gun*_*yim 12
好吧,如果你不知道你正在使用的算法的细节,我认为没有人能告诉你哪个参数是什么.此外,如果您知道算法的详细信息,则不需要任何人告诉您哪个参数是什么.我告诉这个详细的参数(fCT,fVarMax等),而不是简单的参数(nmixtures,nShadowDetection等).
所以,我认为你应该阅读文档中引用的论文.下面是该论文的链接1,2,3.
而且你应该阅读这个文件为好,这是背景估计的开始.
阅读完这些文章并查看代码后,我相信你会明白这些参数是什么.
祝好运!