我已经使用opencv 2.3实时实现了轮廓检测代码。我用了我的网络摄像头。现在我想在以前录制的、在我的数据库中的捕获视频中实现它。
cv::Mat frame;
cv::Mat back;
cv::Mat fore;
cv::VideoCapture cap(0);
cv::BackgroundSubtractorMOG2 bg;
bg.nmixtures = 3;
bg.bShadowDetection = true;
std::vector<std::vector<cv::Point> > contours;
我没有提到我的整个代码,因为要加载AVI文件,我只需要在这里进行格式化。
请有人能指引我吗?
Thanx。
您可以打开一个视频并使用以下代码片段读取帧:
cv::Mat frame;
cv::VideoCapture cap("/path/to/file.avi");
bool ok = cap.open();
// check for errors
cap >> frame; // or cap.read(frame);
有关更多详细信息,您可以阅读VideoCapture的文档。如果遇到问题,您应该检查视频的编解码器是否受支持。