OpenCV视频分析与对象跟踪C++(四)视频中移动对象统计
2018-08-17 15:29
1421 查看
#include <opencv2/opencv.hpp> #include <opencv2/xfeatures2d.hpp> #include<opencv2/face.hpp> #include<iostream> #include<math.h> #include <string> #include<fstream> using namespace cv::face; using namespace cv; using namespace std; using namespace cv::xfeatures2d; int main() { VideoCapture capture; capture.open("C:/Users/Administrator/Desktop/pic/3.avi"); Ptr<BackgroundSubtractor>pMOG2 = createBackgroundSubtractorMOG2(); Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3)); vector<vector<Point>>contours; vector<Vec4i> hireachy; Mat frame, gray, mogmask; while (capture.read(frame)) { imshow("src", frame); pMOG2->apply(frame, mogmask); threshold(mogmask, mogmask, 100, 255, THRESH_BINARY);//二值化 morphologyEx(mogmask, mogmask, MORPH_OPEN, kernel); findContours(mogmask, contours, hireachy, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE, Point(0, 0)); cvtColor(mogmask, mogmask, COLOR_GRAY2BGR); int count = 0; char numText[8]; for (size_t t = 0; t < contours.size(); t++) { double area = contourArea(contours[t]);//获取轮廓的面积 if (area < 100) continue;//忽略面积小的 Rect selection = boundingRect(contours[t]); if (selection.width < 10 || selection.height < 10) contours; count++; rectangle(mogmask, selection, Scalar(0, 0, 255), 2); sprintf_s(numText, "%d", count); putText(mogmask, numText, Point(selection.x, selection.y), CV_FONT_NORMAL, FONT_HERSHEY_PLAIN, Scalar(255, 0, 0)); } cout << "nini"; imshow("mogmask", mogmask); } capture.release(); waitKey(0); }
结果:
相关文章推荐
- opencv3/C++基于移动对象的轮廓的跟踪
- Opencv实战(一) 视频人数统计(C++ & Opencv)前后背景分离方法
- OpenCV学习之运动分析与对象跟踪
- OpenCV 视频跟踪系统的框架分析
- 统计分析SQL Server Profiler 跟踪的SQL
- C++面向对象特性实现机制的初步分析 Part1
- OpenCV学习之例程详解(02):经典C与现代C++方式播放视频
- C++对象模型分析
- 视频里人流跟踪统计 Counting People by Tracking in Video
- 第50课 C++对象模型分析(上)
- 第51课-C++对象模型分析(下)
- C++ 调用 opencv 读取视频文件列表并处理
- 3款移动应用数据统计分析平台对比
- 全球Top10最佳移动统计分析sdk
- c++多态机制详细分析以及c++内存对象布局
- MFC第1天--跟踪代码要抓重点--切记切记--侯杰复习C++ 2对象切割与虚函数P68
- C++性能分析之临时对象
- opencv入门笔记之四 读写视频 捕捉移动点
- C++中对象的常引用实例分析
- opencv 将视频读为图片放在指定文件夹中/将指定文件夹中图片读出并合成视频 cvCreateVideoWriter试分析