我正在使用我声明的背景减法器:
BackgroundSubtractorMOG subtractor;
现在我想将减法器与非默认参数一起使用。我在以下声明中尝试了多个参数值组合:
BackgroundSubtractorMOG subtractor = BackgroundSubtractorMOG(100, 10, 0.9 20);
但是,我看不出subtractor
产生的前景蒙版有任何差异,好像参数没有效果。
我没有正确设置参数吗?设置它们的正确方法是什么?
答案 0 :(得分:2)
我有同样的问题,似乎构造函数提供的参数不会影响检测器,我使用默认参数获得了良好的背景减法,但性能也很差。我使用名为BackgroundSubtractorMOG2的变体获得了更好的性能结果,您可以像使用BackgroundSubtractorMOG一样使用它。
cv::BackgroundSubtractorMOG2 mog;
//--Update Background
mog(frame,foreground,0.01);
答案 1 :(得分:1)
当您获得前景蒙版时,您是否设置了learningRate?在我用于Android应用程序的java版OpenCV中,我按如下方式生成前景蒙版:
subtractor.apply(mRgb, mFGMask, 0.1);
0.1的学习率非常快。我认为将输出模板完全调暗到黑屏需要10帧。