opencv中如何播放视频文件
2016-04-20 16:43
423 查看
//首先需要建立一个窗口来容纳视频的播放
cvNamedWindow("video",CV_WINDOW_AUTOSIZE);
//打开一个视频文件,返回CvCapture 结构中包含了视频文件的信息
CvCapture *capture = cvCreateFileCapture("video.mp4");
//把frame定义为IplImage结构体类型
IplImage *frame;
//循环顺序地读取视频中的帧
while(1)
{
//获取当前播放帧的下一帧,并且将获取到的帧加载到内存中,覆盖掉前面帧所占的内存
frame=
cvQueryFrame(capture);
if(frame1==0)
{ // 如果没有读取到帧的话,则说明视频播放完毕了,从而退出播放
break;
}
//将读取到的帧显示在窗口中
cvShowImage("video",frame);
//每播放一个帧就在此等待30毫秒
charc=cvWaitKey(30);
//如果在30ms中用户按下了ESC键
//(ESC键的ASCII为27)则退出播放
if(27== c)
{
break;
}
}
//释放分配到内存
cvReleaseCapture(&capture);
//销毁窗口
cvDestroyWindow("video");
}
cvNamedWindow("video",CV_WINDOW_AUTOSIZE);
//打开一个视频文件,返回CvCapture 结构中包含了视频文件的信息
CvCapture *capture = cvCreateFileCapture("video.mp4");
//把frame定义为IplImage结构体类型
IplImage *frame;
//循环顺序地读取视频中的帧
while(1)
{
//获取当前播放帧的下一帧,并且将获取到的帧加载到内存中,覆盖掉前面帧所占的内存
frame=
cvQueryFrame(capture);
if(frame1==0)
{ // 如果没有读取到帧的话,则说明视频播放完毕了,从而退出播放
break;
}
//将读取到的帧显示在窗口中
cvShowImage("video",frame);
//每播放一个帧就在此等待30毫秒
charc=cvWaitKey(30);
//如果在30ms中用户按下了ESC键
//(ESC键的ASCII为27)则退出播放
if(27== c)
{
break;
}
}
//释放分配到内存
cvReleaseCapture(&capture);
//销毁窗口
cvDestroyWindow("video");
}
相关文章推荐
- Adobe Photoshop CS6简体中文版下载
- Linux下Java运行环境安装
- Maven依赖范围scope
- CHAPTER 2 How the backpropagation algorithm works
- linux系统空间满了的处理办法(如何清理空间垃圾)
- 20135323符运锦期中总结----Linux系统的理解及学习心得
- V4L2架构
- Linux的工作管理(jobs control)
- rhel7搭建可用实验环境
- opencv的安装(适用于任何版本的visual studio)
- Linux进程间通信:共享内存
- Linux下gcc 优化等级的介绍
- 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法
- Docker run执行流详解(以volume,network和libcontainer为线索)
- Linux怎么添加用户成为sudoers
- 生产环境下戴尔 R820 kvm虚拟化部署一(centos6.6 kvm物理机安装)
- 安装PostGIS(Linux篇)
- 安装PostgreSQL数据库(Linux篇)
- Linux操作系统基础 Intel32位系统架构总览
- linux搭建可用实验环境-rhel7