在win8 64位平台下,Visual Studio 2012 及 Opencv 2.4.7 版本,实现Opencv的视频播放,首先是vs2012配置Opencv2.4.7,方法同VS2010配置Opencv2.4.6,配置完成后,由于是在64位平台下,首先要通过配置管理器将win32平台转换成x64,具体实现比较简单,就是更改配置管理器。接下来是正题,关于如何播放视频,程序代码如下:(程序代码完全来自http://blog.csdn.net/xiaolongwang2010/article/details/7589167,经测试成功,故借鉴过来)
cvNamedWindow("vedio",CV_WINDOW_AUTOSIZE);
//打开一个视频文件,返回 CvCapture 结构中包含了视频文件的信息
CvCapture *capture = cvCreateFileCapture("H:/Opencv experiment/basicdraw/mockingbird.avi");
IplImage *frame;
//循环顺序地读取视频中的帧
while(1)
{
// 获取当前播放帧的下一帧,并且将获取到的帧加载到内存中,覆盖掉前面帧所占的内存
frame = cvQueryFrame(capture);
if(!frame)
{ // 如果没有读取到帧的话,则说明视频播放完毕了,从而退出播放
break;
}
//将读取到的帧显示在窗口中
cvShowImage("vedio",frame);
//每播放一个帧就在此等待30毫秒
char c=cvWaitKey(30);
//如果在30ms中用户按下了ESC键
//(ESC键的ASCII为27)则退出播放
if(27 == c)
{
break;
}
}
// 释放分配到内存
cvReleaseCapture(&capture);
//销毁窗口
cvDestroyWindow("vedio");