1,代码及注释
#include "highgui"
int main(int argc,char** argv){
//创建播放窗口
cvNameWindow("vedio",CV_WINDOW_AUTOSIZE);
//从硬盘中读取视频(返回一个指向avi文件头的指针)
//其中包含了avi文件的信息
CvCapture *capture = cvCreateFileCapture("vedio.avi");
//创建一个图像文件指针
IplImage* frame ;
//循环读入每一帧图像
while(1){
//获取下一帧图像,返回当前帧的指针
frame = cvQueryfame(capture);//其参数为CvCapture结构的指针
//判断当前帧的指针是否为null,即视频是否播放完
if( ! frame)break;
//显示每一帧的图像
cvShowImage("vedio",frame);
//设置每一帧图像的播放间隔时间(33ms)
char c= cvWatiKey(33);
//在上一步的等待时间内,任意按键都会转化为(ASC II)。设置退出键esc(27)
if(c==27)break;
}
//释放为CvCapture结构分配的内存
cvReleaseCapture(&capture);
cvDestroyWindow("vedio");
}
2.核心代码截图
3.遇到的问题
- Q:在代码完全正确的情况下,任不能播放avi视频?
A:没有安装解码器,下载一个xvid解码器安装后就能播放了;