如何阅读用于openCV的视频文件?

时间:2011-10-13 18:20:42

标签: c++ video opencv

我想从“avi文件”中读取视频文件,然后逐帧输入以在openCV中处理它。 我怎样才能做到这一点? openCV中是否有相应的功能?我应该使用视频阅读框架吗?

阅读视频文件的好框架是什么?

1 个答案:

答案 0 :(得分:5)

使用视频序列
从视频序列中捕获帧

从相机初始化捕获:

CvCapture* capture = cvCaptureFromCAM(0); // capture from video device #0

从文件初始化捕获:

CvCapture* capture = cvCaptureFromAVI("infile.avi");
Capturing a frame:

IplImage* img = 0; 
if(!cvGrabFrame(capture)){              // capture a frame 
    printf("Could not grab a frame\n\7");
    exit(0);
}
img=cvRetrieveFrame(capture);// retrieve the captured frame

要同时从多台摄像机获取图像,请先从每台摄像机获取图像。抓取完成后检索捕获的图像。

发布捕获源:

cvReleaseCapture(&capture);

注意设备捕获的图像由捕获功能分配/释放。没有必要明确释放它。