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; }