opencv從攝像頭中讀取視頻,並保存在本目錄下

首先自己配置好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;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章