《学习opencv》学习笔记
test2:播放视频
->源代码截图如下:
->程序分析:
1. cvCreateFileCapture(文件名) -> 返回一个指向cvCapture结构的指针,该指针包含所有视频的信息,在调用该函数后,返回指针指向的cvCapture结构被初始化到视频的开头;
2. IplImage* frame=cvQueryFrame(capture) -> 通过指针设置每一帧的图像。
与IplImage* img=cvLoadImage(文件名)函数不同的是前一句不需要释放frame的内存,它随着capture的释放而消失,而后者需要释放为图片分配的内存;
3. char c=cvWaitKey(33);
if(c==27) break;
手动设置每帧显示的时间为33毫秒,同时等待用户的触发按键操作,返回值c存放按键的ASCII值,当按下Esc键(该键的ASCII码为27),退出视频的显示。
此处手动设置帧的播放速率,严格来讲,从cvCapture结构体中读取实时帧率是一个更好的方法;
4. cvReleaseCapture(&指向cvCapture结构体的指针) -> 释放为cvCapture结构分配的内存空间。