OpenCV中cvCaptureFromFile()用于从.avi文件中读取视频,并返回CvCapture结构指针。典型用法如下:
if( !(pCapture = cvCaptureFromFile(argv[1])))
{
fprintf(stderr, "Can not open video file %s\n", argv[1]);
return -2;
}</span>
pFrame = cvQueryFrame( pCapture ));//IplImage *pFrame 对帧进行处理
cvReleaseCapture(&pCapture);//释放视频流
注:IplImage* cvQueryFrame( CvCapture* capture ); capture 视频获取结构。
函数cvQueryFrame从摄像头或者文件中抓取一帧,然后解压并返回这一帧。这个函数仅仅是函数cvGrabFrame和函数cvRetrieveFrame在一起调用的组合。返回的图像不可以被用户释放或者修改。
发现的问题:打开的*.avi文件中视频压缩采用MS MPEG4 V2标准时可以读取,使用MJPG时无法读取。采用其他标准时有待研究!!