因为opencv版本的不同,相应函数的使用方法也不同,本例程是基于opencv3.0.0的。
参考:
http://blog.csdn.net/h_wlyfw/article/details/38731589?utm_source=tuicool&utm_medium=referral
http://blog.csdn.net/xiaowei_cqu/article/details/23689189
http://bbs.csdn.net/topics/390908921
#include<opencv2/opencv.hpp>
#include<opencv2/video/background_segm.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
VideoCapture capture("C:\\Users\\aoe\\Desktop\\avi\\walk.avi");
if (!capture.isOpened())
return -1;
namedWindow("soure");
namedWindow("foreground");
Mat frame, foreground;
int delay = 1000 / capture.get(CV_CAP_PROP_FPS);
//BackgroundSubtractorMOG bgsubtractor(10, 10, 0.5, false);
Ptr<BackgroundSubtractorMOG2> mod = createBackgroundSubtractorMOG2();
while (true)
{
if (!capture.read(frame))
break;
mod->apply(frame, foreground, 0.01);
imshow("soure", frame);
imshow("foreground", foreground);
waitKey(delay);
}
waitKey();
return 0;
}
本文提供了一个基于OpenCV 3.0.0版本的背景分离示例代码,通过使用BackgroundSubtractorMOG2方法从视频中实时提取前景对象。示例展示了如何读取视频文件、创建窗口以及调整背景模型。
——opencv3.0.0&spm=1001.2101.3001.5002&articleId=52400076&d=1&t=3&u=0f38ca656302480982ed29bb83cb60a3)
9307

被折叠的 条评论
为什么被折叠?



