如何在OpenCV中使用cv :: BackgroundSubtractorMOG?
computer-vision
opencv
5
0

我正在使用OpenCV2.2通过背景减法实现运动对象检测。并且我使用高斯混合模型(GMM)方法对背景参考图像进行建模。

我使用OpenCV2.2中提供的类cv :: BackgroundSubtractorMOG直接获取前景像素(或前景蒙版)。这很方便,但是cv :: BackgroundSubtractorMOG返回的前景蒙版不如我预期的那样好。另外,似乎cv :: BackgroundSubtractorMOG的性能比OpenCV1.0中提供的用C语言编写的GMM方法差。

以下是我在OpenCV2.2中的代码:

cv::BackgroundSubtractorMOG mog;
mog(frame, fgMask, 0.01);

那么,我是否以错误的方式使用了该方法?

顺便说一句,cv :: BackgroundSubtractorMOG是否对前景像素执行阴影去除?

非常感谢你。

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

最近有一些算法可以比OpenCV中的标准GMM实现更好地消除背景(检测前景)。

例如, 此期刊文章中介绍了一种基于块的分类器级联方法,以及其基于C ++的源代码

收藏
评论

创建mog时,您没有定义任何参数,因此它是使用默认参数创建的。 在这里,您对每个参数都有描述,也许就是这样。尝试3、4、5个高斯。

此功能不会执行阴影去除,但是您可以执行其他功能。祝好运!

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号