BackgroundSubtractorMOG 前景检测

来源:互联网 发布:网络兼职网 编辑:程序博客网 时间:2024/05/16 05:41
1. 在处理视频对象中,通常要区分开前景物体和背景物体,opencv中提供了一种高斯混合背景建模的方法,函数调用为BackgroundSubtractorMOG ,可以有效地检测视频中运动的物体。

源码:
#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/video/video.hpp>#include <iostream>using namespace cv;using namespace std;int main(){Mat frame;//视频帧文件Mat foreground;// 前景图片VideoCapture capture("car.avi");if (!capture.isOpened()){return 0;}namedWindow("提取出的前景");namedWindow("原视频");// 混合高斯物体BackgroundSubtractorMOG mog;bool stop(false);while (!stop){if (!capture.read(frame)){break;}// 更新背景图片并且输出前景,参数为:输入图像、输出图像、学习速率  mog(frame, foreground, 0.01);// 二值化,物体为黑色,背景为白色threshold(foreground, foreground, 100, 255, THRESH_BINARY_INV);// show foregroundimshow("提取出的前景", foreground);imshow("原视频", frame);if (waitKey(10) == 27){stop = true;}}}


0 0
原创粉丝点击