1. 程式人生 > 程式設計 >C++實現視訊流轉換為圖片方式

C++實現視訊流轉換為圖片方式

記錄一個基於C++實現的將視訊流幀轉換為圖片

/*  avi2jpg 函式,將攝像頭當前幀儲存為jpg格式照片 */
 
void Video_to_image(CvCapture* capture)
{
	//初始化一個視訊檔案捕捉器
	//CvCapture* capture = cvCaptureFromAVI(filename);
	//獲取視訊資訊
	cvQueryFrame(capture);
	/*
	int frameH  = (int) cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT);
	int frameW  = (int) cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH);
	int fps    = (int) cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
	int numFrames = (int) cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT);
	//printf("tvideo height : %dntvideo width : %dntfps : %dntframe numbers : %dn",frameH,frameW,fps,numFrames);
	*/
	//定義和初始化變數
	int i = 0;
	IplImage* img = 0;
	char image_name[13] = "1";
	//讀取和顯示
	while(1)
	{
		img = cvQueryFrame(capture); //獲取一幀圖片
		char key = cvWaitKey(20);
		sprintf(image_name,"%s%d%s","image",++i,".jpg");//儲存的圖片名
		cvSaveImage( image_name,img);  //儲存一幀圖片
		if(i == NUM_FRAME) break;
	}
}

以上這篇C++實現視訊流轉換為圖片方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。