[学习OpenCV攻略][004][播放AVI视频]

cvCreateFileCapture(文件路径)

创建一个影音文件录像机,返回值为CvCapture类型,用于读取视频文件

 

cvQuerFrame(视频)

将下一帧视频文件载入内存,当CvCapture被释放时,每一帧对应的内存会被释放,所以不需要cvReleaseImage(&frame);

 

cvReleaseCapture(视频)

释放CvCapture结果的内存空间,同时也会关闭所有打开的视频文件相关的句柄。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "highgui.h"
 
int main(int argc, char** argv){
    char c;
    IplImage* frame;
    CvCapture* capture;
     
    cvNamedWindow("hello", CV_WINDOW_AUTOSIZE);
     
    capture = cvCreateFileCapture(argv[1]);
    while(1){
        frame = cvQueryFrame(capture);
        if(!frame){
            break;
        }
 
        cvShowImage("hello", frame);
         
        c = cvWaitKey(33);
        if(c == 27){   //Esc
            break;
        }
    }
     
    //cvReleaseImage(&frame);   加上这句后会产生错误:段错误 (核心已转储)
    cvReleaseCapture(&capture);
    cvDestroyWindow("hello");
     
    return 0;
}

 

posted @   盛夏夜  阅读(185)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示