使用OpenCV捕获视频,并保存为视频文件

来源:互联网 发布:做霓虹灯的软件 编辑:程序博客网 时间:2024/06/05 17:59
int main(int argc,char ** argv){char filename[1024];if(argc == 1)sprintf(filename,"%s","camera.avi");if(argc == 2)sprintf(filename,"%s",argv[1]);IplImage* frame = NULL;CvCapture* capture = NULL;capture = cvCaptureFromCAM(-1);//open video captureif(!capture){fprintf(stderr,"Could not initialize capturing...\n");return -1;}cvNamedWindow("Video Capture", 1);//create show windowframe = cvQueryFrame(capture);CvVideoWriter *writer =cvCreateVideoWriter(filename, -1, 25, cvSize(frame->width,frame->height));//create writer//CvVideoWriter *writer = cvCreateVideoWriter("camera.avi",CV_FOURCC('D','I','V','X'),25,cvSize(frame->width,frame->height));直接指定视频格式时出错。while(capture){frame = cvQueryFrame(capture);cvWriteFrame(writer,frame);cvShowImage("Video Capture",frame);if(cvWaitKey(1) == 'q')break;}cvReleaseCapture(&capture);cvReleaseVideoWriter(&writer);cvDestroyWindow("Video Capture");return 0;}

第一次使用OpenCV,自己在win7 64 + opencv 2.1上测试成功。能够捕获视频并保存成。avi

但是在创建

CvVideoWriter时,如果直接指定编码格式则出错。指定为-1时,则弹出压缩格式选择后可正常运行。
希望大神能够指点一下。感觉万分。



原创粉丝点击