标签: mog

OpenCV:如何使用createBackgroundSubtractorMOG

我试图通过OpenCV.org这个教程:

http://docs.opencv.org/trunk/doc/tutorials/video/background_subtraction/background_subtraction.html#background-subtraction

MOG指针初始化为

Ptr<BackgroundSubtractor> pMOG; //MOG Background subtractor
Run Code Online (Sandbox Code Playgroud)

在主要情况下,它以下列方式使用:

pMOG = createBackgroundSubtractorMOG();
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下错误:

    Error: Identifier "createBackgroundSubtractorMOG" is undefined
Run Code Online (Sandbox Code Playgroud)

此外,要更新背景模型时,使用以下命令:

pMOG->apply(frame, fgMaskMOG);
Run Code Online (Sandbox Code Playgroud)

这又会产生以下错误:

    Error: class "cv::BackgroundSubtractor" has no member "apply"
Run Code Online (Sandbox Code Playgroud)

知道可以做些什么吗?提前谢谢了!

这是整个教程代码:

//opencv
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/video/background_segm.hpp>
//C
#include <stdio.h>
//C++
#include <iostream>
#include <sstream>

using namespace cv;
using namespace std;

//global variables
Mat frame; //current frame
Mat fgMaskMOG; //fg mask generated by MOG method
Mat fgMaskMOG2; //fg mask fg mask generated by MOG2 method
Ptr<BackgroundSubtractor> pMOG; //MOG Background subtractor
Ptr<BackgroundSubtractor> …
Run Code Online (Sandbox Code Playgroud)

opencv background-subtraction mog

19
推荐指数
2
解决办法
5万
查看次数

如何在OpenCV中使用cv :: BackgroundSubtractorMOG?

我正在使用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);
Run Code Online (Sandbox Code Playgroud)

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

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

非常感谢你.

opencv computer-vision background-subtraction mog shadow-removal

13
推荐指数
2
解决办法
3万
查看次数

BackgroundSubtractorMOG2的掩码

如何告诉BackgroundSubtractorMOG2哪些像素要更新到背景模型以及哪些像素不应该更新.

当一个物体进入场景并停止几十秒钟时,我面临问题,物体将被吸收到背景模型中.

我想降低学习率或停止围绕特定停止对象的学习,但我该怎么做呢?BackgroundSubtractorMOG2是否支持在其更新功能中使用掩码?

我正在使用OpenCV 2.4.1.

谢谢,阿尔文.

opencv background-subtraction mog

7
推荐指数
1
解决办法
4869
查看次数

从python中的BackgroundSubtractorMOG2获取背景模型

我需要使用opencv获得高斯混合的背景模型.我知道在C++中有一个名为getBackgroundImage的方法我搜索了是否可以在python接口中获取它但我没有得到好的结果.我试过opencv 3.0.0-dev因为它有BackgroundSubtractorMOG2实现,但是help()函数没有为背景模型记录方法实现.你知道是否有无证实施?我搜索了如何编辑opencv源来实现python实现,但我还没有找到有关它的文档.我更喜欢避免使用scipy.weave来编译c ++代码,而且我不知道scipy.weave在这种情况下是否有用

python opencv mog

4
推荐指数
2
解决办法
7409
查看次数