X.F*_*X.F 3 c++ opencv visual-studio opencv3.0
我在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是,该类显示未声明.
语法已从OpenCV 2.9.X更改.这将适用于OpenCV 3.0.0:
#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
int main() {
VideoCapture video("1.avi");
Mat frame, mask, thresholdImage, output;
int frameNum = 0;
Ptr<BackgroundSubtractor> pMOG2 = createBackgroundSubtractorMOG2(20, 16, true);
while (true) {
video >> frame;
++frameNum;
pMOG2->apply(frame, mask, 0.001);
cout << frameNum << endl;
imshow("mask",mask);
waitKey(10);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |