opencv实现视频播放
2015-05-31 21:14
363 查看
#include <cv.h> #include <highgui.h> #include "cxcore.h" #include <math.h> #include "stdio.h" #include <ctype.h> #include"iostream" using namespace std; int g_slider_position=0;//进度条的进度 CvCapture* g_capture=NULL;//存储视频文件的信息的指针 int frame_num=0;//视频进度的帧数 void ON_CHANGE(int pos) //设置进度条为步进 { cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos); frame_num=pos; } int main() { cvNamedWindow("video");//创建名为video的显示窗口 g_capture=cvCreateFileCapture("C:\\Users\\yanning\\Desktop\\Image Processing\\Wildlife.wmv"); int frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT); //视频文件的总帧数 if(frames!=0) { cvCreateTrackbar("position","video",&g_slider_position,frames,ON_CHANGE);//创建滚动条 } IplImage* frame; while (1) { frame=cvQueryFrame(g_capture);//获得视频的一帧图像 if(!frame)break; cvShowImage("video",frame); //显示当前帧 char c=cvWaitKey(33); if (c==27) { break; } cvCreateTrackbar("position","video",&g_slider_position,frames,ON_CHANGE); cvSetTrackbarPos("position","video", frame_num); //更新滚动条的位置 frame_num++; } cvReleaseCapture(&g_capture);//释放视频存储内存 cvDestroyWindow("video");//销毁窗口 return 0; }
相关文章推荐
- 运维工程师的职责和前景
- Flume(NG)架构设计要点及配置实践
- android基本架构
- 在CentOS6上使用源码编译LAMP平台
- 源码编译apache 2.4.3 常见问题
- 超快速Tomcat7环境变量快速配置
- 人人都是架构师: 约束和原则
- Linux python 配置
- fatal error LNK1104: cannot open file "Debug/构造函数.exe"
- [Linux]grep删除空行
- Linux操作系统上用数据泵导库
- Qt移植 Window --Linux
- 钟表维修管理系统技术解析(一) MVC架构搭建
- AOP之代理模式(三)
- SHELL脚本if语句
- MySQL-MMM实现MySQL高可用
- (六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 常用命令总结
- (五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql安装
- Centos6.5学习之添加用户
- Docker解析及轻量级PaaS平台演练(三)--Dockerfile编写