首先自己配置好opencv
#include <cv.h>
#include<cxcore.h>
#include<highgui.h>
#include<iostream>
using namespace std;
int main()
{
CvCapture *cap = cvCreateCameraCapture(0);//初始化相機捕獲的指針
if (!cap)
{
cout << "create camera capture error..." << endl;
system("pause");
exit(-1);
}
IplImage *tempImg = cvQueryFrame(cap);
double fps = 20;
CvSize size = cvSize(
(int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_WIDTH),
(int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_HEIGHT)
);
CvVideoWriter *writer = cvCreateVideoWriter("./test.avi", CV_FOURCC('X', 'V', 'I', 'D'), fps, size);
IplImage *img = cvCreateImage(size, 8, 3);
//img
cvNamedWindow("cameravideo", 1);
while ((tempImg = cvQueryFrame(cap)) != NULL)
{
cvCopy(tempImg, img);
if (img->origin == IPL_ORIGIN_TL)
{
cvFlip(img, tempImg);
}
cvWriteFrame(writer, img);
cvShowImage("cameravideo", img);
if (cvWaitKey(2) >= 0)
break;
}
cvReleaseImage(&img);
cvReleaseCapture(&cap);
cvReleaseVideoWriter(&writer);
cvDestroyWindow("cameravideo");
system("pause");
return 0;
}