1. 程式人生 > >使用opencv設定解析度並儲存在本地

使用opencv設定解析度並儲存在本地

#include <iostream>
#include <cstdio>
#include <opencv2/opencv.hpp>
#include <unistd.h>
using namespace std;
using namespace cv;


int main()
{
	VideoCapture cap; //定義視訊物件 
	cap.open(0); //0為裝置的ID號 ,usb攝像頭為1(0為預設的,像筆記本本身的就是0。如果只有一個usb,那usb裝置號也是0)
	Mat frame; 
	cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);//設定解析度
	cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
	cap >> frame; 
	if(frame.data) 
	{ 
		cout << "!0"<<endl;        //拍到了圖片
		imshow("frame",frame);     //視窗名“frame",顯示frame
		waitKey(3000);//等待按下函式:引數如果寫負數或者0。當顯示圖片後,按下任意鍵後程序退出。如果引數寫為3000就是3秒後程序自動退出
	} 
	//waitKey(30); //0.03s獲取一幀,不是很明白,註釋掉暫時沒發現影響

	imwrite("./1.jpg",frame);        //儲存在當前目錄

	/*顯示出來
	   int c ;
	   Mat img1 = imread("2.jpg");
	   namedWindow("影象顯示");
	   while(1)
	   {
	   imshow("影象顯示",img1);
	   c = waitKey(0);
	   imwrite("33.jpg",img1);
	   if(c==27 || char(c)=='q' || char(c) == 'Q')
	   break;
	   }
	 */
	return 0;
}