3

我正在使用我这样声明的背景减法器:

BackgroundSubtractorMOG subtractor;

现在我想使用带有非默认参数的减法器。我在以下声明中尝试了参数值组合的数量:

BackgroundSubtractorMOG subtractor = BackgroundSubtractorMOG(100, 10, 0.9 20);

但是,我看不到由 产生的前景蒙版有任何区别subtractor,好像参数没有效果一样。

我没有正确设置参数吗?设置它们的正确方法是什么?

4

2 回答 2

2

我有同样的问题,似乎构造函数提供的参数不影响检测器,我用默认参数得到了很好的背景减法,但性能也很差。使用名为 BackgroundSubtractorMOG2 的变体,我获得了更好的性能结果,您可以像使用 BackgroundSubtractorMOG 一样使用它。 cv::BackgroundSubtractorMOG2 mog; //--Update Background mog(frame,foreground,0.01);

于 2013-07-09T20:23:40.280 回答
1

当您获得前景蒙版时,您是否设置了 learningRate?在我用于 Android 应用程序的 Java 版本的 OpenCV 中,我生成了前景掩码,如下所示:

subtractor.apply(mRgb, mFGMask, 0.1);

这个 0.1 的学习率非常快。我认为需要 10 帧才能将我的输出蒙版完全变暗到黑屏。

于 2013-03-06T22:52:29.237 回答