使用opencv設定解析度並儲存在本地
阿新 • • 發佈:2018-11-19
#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; }