opencv 实现进度控制
来源:互联网 发布:macbook pro mac air 编辑:程序博客网 时间:2024/06/05 20:15
进度控制:
#include <opencv\cv.h>#include <opencv\highgui.h>#include <opencv\cxcore.h>//记录滚动条的当前位置int g_slider_pos = 0;//滚动条的回调函数 参数int pos 是指当前滚动条所在位置void on_changed(int pos){//输出滚动条当前所在位置printf("g_slider_pos is %d \n" , g_slider_pos);}int main(int argc, char* argv[]){//创建一个窗口cvNamedWindow("show");//在窗口show上创建名字为Position的滚动条cvCreateTrackbar("Position","show",&g_slider_pos,400,on_changed);//显示滚动条cvShowImage("show",NULL);//等待用户按键cvWaitKey(0);return 0;}
视频化的进度控制:
#include <opencv\cv.h>#include <opencv\highgui.h>#include <opencv\cxcore.h>//声明一个CvCapture类型指针 用于接收cvCreateFileCapture的返回值 CvCapture* g_capture = NULL;//记录滚动条的当前位置 int g_slider_pos = 0;//对视频帧进行计数的变量 int frame_count = 0;//滚动条的回调函数 参数int pos 是指当前滚动条所在位置 void onTrackbarSlider(int pos) { //设置g_capture的属性 使得 从位置pos开始播放视频 cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos ); //在拉动滚动条后 保持变量frame_count与滚动条的位置是同步的 frame_count = pos ; } int main(int argc, char* argv[]) { //创建一个窗口 cvNamedWindow("show"); //打开有一个视频文件 g_capture = cvCreateFileCapture("C:\\Users\\zxl\\Desktop\\1.avi"); //获取视频的总帧数 int frames = (int)cvGetCaptureProperty( g_capture, CV_CAP_PROP_FRAME_COUNT ); if(frames>0) { //在窗口show上创建名字为Position的滚动条 cvCreateTrackbar( "Position", "show", &g_slider_pos, frames, onTrackbarSlider ); } //图像指针变量 IplImage* frame; while(1) { //从g_capture获取一帧图像 填充到相应的内存缓冲区 frame = cvQueryFrame(g_capture); //如果到视频结尾 则退出循环 if(!frame) { break; } //显示图像 cvShowImage("show",frame); //接收用户按键 char c = cvWaitKey(33); //如果接收到 按键'Esc' 则退出循环 if(c==27) { break; } //滚动条 随着视频的播放 进行移动 cvSetTrackbarPos("Position","show", frame_count); frame_count++; } //释放资源 cvReleaseCapture(&g_capture); cvDestroyWindow("show"); return 0; }
- opencv 实现进度控制
- OpenCV视频进度播放控制
- Opencv中视频播放与进度控制
- linux下使用opencv接口函数控制视频播放进度
- Opencv学习_3 (Opencv读取视频 &视频进度控制 &写视频)
- Opencv学习_3 (Opencv读取视频 &视频进度控制 &写视频)
- OpenCV控制摄像头实现拍照
- OpenCV控制摄像头实现拍照
- OpenCV控制摄像头实现拍照
- OpenCV控制摄像头实现拍照
- AJAX实现基于WEB的文件上传的进度控制
- AJAX实现基于WEB的文件上传的进度控制
- AJAX实现基于WEB的文件上传的进度控制
- AJAX实现基于WEB的文件上传的进度控制
- 如何在状态栏中实现进度指示器控制
- AJAX实现基于WEB的文件上传的进度控制
- AJAX实现基于WEB的文件上传的进度控制
- AS3.0实现视频播放进度控制条
- static在C和C++中各代表什么含义?
- 【VB.NET2010】注册表写入方法
- 热备份模式【Begin Backup】(1)--原理理解
- stm32中“拔掉jlink”程序无法正确运行
- Palindrome subsequence(hdu4632,DP)
- opencv 实现进度控制
- How to face setbacks
- ProDinner体验
- 装载、链接与库
- 命令行的乱码以及编码的问题的解决方法
- 自己编写行编辑器
- android————EditText
- uva - 123 - Searching Quickly
- sql批量插入数据