openCV3 Track Bar
来源:互联网 发布:标识设计软件 编辑:程序博客网 时间:2024/06/05 00:55
opencv3
Add Progress Bar to your video
C++
/** main.cpp*Video Track Bar* Created on: 2015.10.24* Author: anonymous*/#include <opencv2/opencv.hpp>#include <opencv2/video/video.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/core/core.hpp>#include <iostream>#include <cstdio>using namespace std;using namespace cv;void onTrackbar(int, void*);VideoCapture cap;int main(){ Mat curFrame; Mat dst; int framePosition = 0; uint curFrameCount = 0; bool stop = false;#ifdef CAMERA cap.open(0); if (!cap.isOpened()) return -1;#else cap.open("G:\\video.avi"); if (!cap.isOpened()) { cout << "fail to open video" << endl; return -1; } uint totalFrame = cap.get(CAP_PROP_FRAME_COUNT); namedWindow("src"); createTrackbar("frameCurPosition", "src", &framePosition, totalFrame, onTrackbar); onTrackbar(framePosition, 0);#endif while (1) { if (!cap.read(curFrame)) { cout << "fail to read video" << endl; return -1; } if (stop) { cap.set(CAP_PROP_POS_FRAMES, framePosition); curFrameCount = framePosition; } //get video position int trapos = (int)cap.get(CAP_PROP_POS_FRAMES); //set track bar to be consistent with video position setTrackbarPos("frameCurPosition", "src", trapos); //play the video imshow("src", curFrame); char button = waitKey(1); if (button == 113 || cap.get(CAP_PROP_POS_FRAMES) == totalFrame) //press q then exit break; else if (button == 32)//press blank then pause { stop = 1 - stop; } } return 0;}void onTrackbar(int pos, void*){ cap.set(CAP_PROP_POS_FRAMES, pos);}
0 0
- openCV3 Track Bar
- track
- ROS中利用opencv3完成四个视频流拼接成一副图像显示,并添加track条进行参数调节
- bar
- bar
- Opencv3
- Test Track
- fast-track
- THE TRACK
- Running Track
- plan&track
- vyos-track
- audio track
- Detect to Track and Track to Detect
- Track'em Down
- Keep track of
- Going on real track
- Fast Track UML 2.0
- Framgment的使用
- 遍历数组
- ROS_hydro_catkin建立标准程序包_helloworld.h+helloworld.cpp+helloworldnode.cpp
- Struts2基础复习系列(1)
- 微信学习系列
- openCV3 Track Bar
- hadoop编程:暴力破解ZIP密码
- Java的ArrayDeque使用例程
- Android之自定义View的封装
- C语言学习笔记1
- 【HTML5+css3】学习笔记之嵌入元素
- nodejs学习--子进程 child_process模块的基本介绍
- 游标
- iOS开发:国际化之app支持多种语言切换