我试图通过OpenCV.org这个教程:
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)