(六)OpenCV视频分析与对象跟踪_09_扩展模块中的多对象跟踪
2020-03-06 21:35
351 查看
KCF:或者其它
KCF速度快,基本好用
MultiTracker
#include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/tracking.hpp> using namespace cv; using namespace std; int main(int argc, char** argv) { VideoCapture capture; //capture.open("../path.mp4"); capture.open(0); if (!capture.isOpened()) { cout << "could not load video..." << endl; return -1; } namedWindow("Video_demo", WINDOW_AUTOSIZE); Mat frame; capture.read(frame);//读取第一帧 vector<Rect> ROI; //用鼠标框在"Video_demo"窗口里的frame上选ROI//窗口名,第一帧图片,存储需要被跟踪的对象 selectROIs("Video_demo",frame,ROI);//读取视频第一帧,选取多个跟踪目标,全部Enter确认后,Esc开始跟踪 MultiTracker trackers;//KCF多对象跟踪 vector<Rect2d> Object; vector<Ptr<Tracker>> new_trackers; for (auto i = 0; i < ROI.size(); i++)//为每一个跟踪对象绑定一个跟踪算法(KCF),作为trackers.add的参数 { Object.push_back(ROI[i]); new_trackers.push_back(TrackerKCF::create()); } trackers.add(new_trackers, frame, Object);//在frame上跟踪ROI while (capture.read(frame)) { trackers.update(frame); for (size_t i = 0; i < trackers.getObjects().size(); i++) { rectangle(frame, trackers.getObjects()[i], Scalar(0, 0, 255), 2, 8, 0); } imshow("Video_demo", frame); char c = waitKey(100); if (c == 27) { break; } } capture.release(); waitKey(0); return 0; }
输出结果:(选择多个ROI)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- OpenCV视频分析与对象跟踪C++(二)光流对象跟踪-稀疏光流、稠密光流
- OpenCV视频分析与对象跟踪C++(三)CAMShift对象跟踪
- OpenCV视频分析与对象跟踪C++(四)视频中移动对象统计
- OpenCV视频分析与对象跟踪C++(一)视频读写、背景消除建模(BSM)、对象检测与跟踪(基于颜色)
- OpenCV系列视频教程(6):视频分析与对象跟踪实战教程
- (七)OpenCV深度神经网络(DNN)模块_02_使用SSD模型实现(实时)对象检测、GOTURN模型实现对象跟踪
- 视频分析与对象跟踪(二)(稀疏光流-KLT)
- OpenCV 视频跟踪系统的框架分析
- opencv3扩展模块(opencv_contrib) 实现目标跟踪
- OpenCV学习之运动分析与对象跟踪
- opencv视频跟踪2
- BT源代码学习心得(七):跟踪服务器(Tracker)的代码分析(HTTP协议处理对象)
- 用 Python 和 OpenCV 检测和跟踪运动对象
- 韩顺平 javascript教学视频_学习笔记13_类和对象细节_创建对象的几种方式_js对象内存分析
- OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc
- 一种多尺度的KCF跟踪程序代码分析(二)——图片视频转换和初始框输入
- WebRTC源码分析四:视频模块结构
- BT源代码学习心得(七):跟踪服务器(Tracker)的代码分析(HTTP协议处理对象)
- 面向对象系统分析与设计专题<7>__UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系
- WebRTC源码分析四:视频模块结构