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

lit*_*tuk 0 c++ video opencv

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

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

Waz*_*azy 5

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

从相机初始化捕获:

CvCapture* capture = cvCaptureFromCAM(0); // capture from video device #0
Run Code Online (Sandbox Code Playgroud)

从文件初始化捕获:

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
Run Code Online (Sandbox Code Playgroud)

要同时从多个摄像头获取图像,首先从每个摄像头获取图像.抓取完成后检索捕获的图像.

释放捕获源:

cvReleaseCapture(&capture);
Run Code Online (Sandbox Code Playgroud)

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