cvCreateFileCapture(文件路径)
创建一个影音文件录像机,返回值为CvCapture类型,用于读取视频文件
cvQuerFrame(视频)
将下一帧视频文件载入内存,当CvCapture被释放时,每一帧对应的内存会被释放,所以不需要cvReleaseImage(&frame);
cvReleaseCapture(视频)
释放CvCapture结果的内存空间,同时也会关闭所有打开的视频文件相关的句柄。
#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;
}