下面是基本实例代码:本人用的是 Opencv2.4.2
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
#include "iostream"
using namespace std;
CvCapture *capture = NULL;
CvVideoWriter* writer = NULL;
IplImage *frame = NULL;
int FPS = 15;
int _tmain(int argc, _TCHAR* argv[])
{
//打开摄像头
if(!(capture = cvCaptureFromCAM(0)))
{
fprintf(stderr,"Can't open the camera0!\n");
}
//设置视频分别率属性
double w = 1280, h = 720;
cvSetCaptureProperty ( capture, CV_CAP_PROP_FRAME_WIDTH, w );
cvSetCaptureProperty ( capture, CV_CAP_PROP_FRAME_HEIGHT, h );
//创建视频文件写入器
frame = cvQueryFrame(capture);
writer = cvCreateVideoWriter("video.avi",CV_FOURCC('X', 'V', 'I', 'D'),FPS,cvSize(frame->width,frame->height),1);
if(writer == NULL)
{
fprintf(stderr,"Can't create the video writer");
}
cvNamedWindow("Capture");
while (1)
{
frame = cvQueryFrame(capture); //循环获取视频帧
cvWriteFrame(writer,frame); //将视频帧写入CvVideoWriter中保存
cvShowImage("Capture",frame); //现实画面
int key = cvWaitKey(25); //ESC 退出
if( key == 27 )
{
break;
}
}
cvReleaseVideoWriter(&writer);
cvReleaseCapture(&capture);
cvDestroyWindow("Capture");
return 0;
}
下面是代码中要用到HighGUI库中所有视频读写函数的使用说明链接: