• 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. 运行结果:

      

  • 相关阅读:
    C#for循环——迭代法、穷举法
    C#循环语句
    C#算数运算符、关系运算符、逻辑运算符、语句
    C#visual2012基本操作、数据类型、类型转换
    C#进制转化
    Ajax用法
    《四》JAVA 字符输入输出流
    《三》Java IO 字节输入输出流
    《二》Java IO 流的分类介绍
    《一》File 类的介绍
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3720230.html
Copyright © 2020-2023  润新知