小编X.F*_*X.F的帖子

不允许使用抽象类类型"cv :: BackgroundSubtractorMOG2"的对象.所有方法都是纯虚拟的

我在Windows 7 64位的VS2015 + OpenCV3.0中开发代码.这是一个我想试试的演示代码.我尝试了很多演示,但我遇到了同样的问题:

不允许使用抽象类类型"cv :: BackgroundSubtractorMOG2"的对象.所有方法都是纯虚函数.

演示代码是:

using namespace cv;
using namespace std;
int main() {
    VideoCapture video("1.avi");
    Mat frame, mask, thresholdImage, output;
    //video>>frame;
    Ptr<BackgroundSubtractor> pMOG2;
    pMOG2 = new BackgroundSubtractorMOG2();
    BackgroundSubtractorMOG2 bgSubtractor(20, 16, true);
    while (true) {
        video >> frame;
        ++frameNum;
        bgSubtractor(frame, mask, 0.001);
        cout << frameNum << endl;
        //imshow("mask",mask);
        //waitKey(10);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我包含了很多heaerd文件,但我仍然无法使用该类BackgroundSubtractorMOG2,更糟糕的BackgroundSubtractorMOG是,该类显示未声明.

c++ opencv visual-studio opencv3.0

3
推荐指数
1
解决办法
2629
查看次数

标签 统计

c++ ×1

opencv ×1

opencv3.0 ×1

visual-studio ×1