BackgroundSubtractorMOG2的apply(frame, mask) 求大神指导

qq_28271887 2016-09-03 04:03:46
先贴上代码:
#include <iostream>
#include <string>
#include "opencv2/core/core.hpp"
#include "opencv2/video/background_segm.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char** argv)
{
std::string videoFile = "E:/国创/基于视频的违章停车监控系统/教程/视频/视频.avi";

cv::VideoCapture capture;
capture.open(videoFile);

if (!capture.isOpened())
{
std::cout << "read video failure" << std::endl;
return -1;
}


//cv::BackgroundSubtractorMOG2 mog;
Ptr<BackgroundSubtractorMOG2> mog = createBackgroundSubtractorMOG2();

cv::Mat foreground;
cv::Mat background;

cv::Mat frame;
long frameNo = 0;
while (capture.read(frame))
{
++frameNo;

std::cout << frameNo << std::endl;

// 运动前景检测,并更新背景
mog->apply(frame, foreground);//此句出错

// 腐蚀
cv::erode(foreground, foreground, cv::Mat());

// 膨胀
cv::dilate(foreground, foreground, cv::Mat());

mog->getBackgroundImage(background); // 返回当前背景图像

cv::imshow("video", foreground);
cv::imshow("background", background);


if (cv::waitKey(25) > 0)
{
break;
}
}



return 0;
}

运行至mog->apply(frame, foreground);时出现错误,截图如下:
...全文
1048 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,448

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧