zoukankan      html  css  js  c++  java
  • 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. 运行结果:

      

  • 相关阅读:
    2013总结,新的征程开始了!
    NOIP2015滚粗记
    HelloWorld!
    For the strivers ——
    【DP】最长公共子序列
    【DP】青蛙过河
    【DP+拓扑】关键子工程
    【线段树+向量】POJ 2991 Crane
    【线段树】POJ3225 Help with intervals
    【数学】test20170311
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3720230.html
Copyright © 2011-2022 走看看