OpenCV 入门示例之二:播放 AVI 视频

前言

  本文展示一个播放 AVI 视频的程序。( 呵呵是 AVI 视频不是 AV 视频噢! )

代码示例

 1 // 此头文件包含图像IO函数的声明
 2 #include "highgui.h"
 3 
 4 int main (void) {
 5 
 6     // 定义一个窗口来播放视频
 7     cvNamedWindow ("示例", CV_WINDOW_AUTOSIZE );
 8 
 9     // 将 D 盘目录下名为" 1.avi "的视频加载至内存并获得一个指向该视频内存块的指针 capture
10     // 该指针所指向的结构包含了此视频的当前播放帧序
11     CvCapture *capture = cvCreateFileCapture ("D:\1.avi");
12 
13     // 定义一个图像指针来指向各帧图像
14     IplImage *frame;
15 
16     while (1) {
17 
18         // 获取视频最新的帧图。这个帧图是存放在视频内存块里的,因此,程序结束时只释放 capture 所指向的内存块就够了。
19         frame = cvQueryFrame (capture);
20 
21         // 读取帧失败则退出程序
22         if (!frame) break;
23 
24         // 显示最新获取到的帧图
25         cvShowImage ("示例", frame);
26 
27         // 用户键入ESC后退出循环,键入其他按键播放下一帧,什么都不按则 33 毫秒之后自动播放下一帧。
28         char c = cvWaitKey(33);
29         if (c==27) break;
30     }
31 
32     // 释放内存空间
33     cvReleaseCapture (&capture);
34     cvDestroyWindow ("示例");
35 
36     return 0;
37 }

运行测试

  1. 将格式为 avi 的测试视频拷贝到 D 盘,命名为 "1.avi"。

  2. 运行结果:

  

原文地址:https://www.cnblogs.com/scut-fm/p/3720230.html