我最近在我的 ubuntu 14.10 系统中安装了 OpenCv 并且我正在运行一个程序并且在功能 cv::BackgroundSubtractorMOG2
中我遇到了一个错误。
错误是 cannot declare variable ‘bg’ to be of abstract type ‘cv::BackgroundSubtractorMOG2’
为什么我面临这个错误
我的代码示例
int main(int argc, char *argv[]) {
Mat frame;
Mat back;
Mat front;
vector<pair<Point,double> > hand_middle;
VideoCapture cap(0);
BackgroundSubtractorMOG2 bg; //Here I am facing error
bg.set("nmixtures",3);
bg.set("detectShadows",false);
//Rest of my code
return 0;
}
最佳答案
api在opencv3.0中改变了,你将不得不使用:
cv::Ptr<BackgroundSubtractorMOG2> bg = createBackgroundSubtractorMOG2(...)
bg->setNMixtures(3);
bg->apply(img,mask);
关于c++ - 错误 : cannot declare variable ‘bg’ to be of abstract type ‘cv::BackgroundSubtractorMOG2’ in OpenCV 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28847289/