#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <atltime.h>
using namespace cv;
using namespace std;
string GetCurTime()
{
time_t rawtime;
struct tm * timeinfo;
char buffer[128] = { 0 };
time(&rawtime);
timeinfo = localtime(&rawtime);
strftime(buffer, sizeof(buffer), "%m-%d-%H-%M-%S", timeinfo);//月-日-時-分-秒
return string(buffer);
}
int main()
{
VideoCapture capture(1);
if (!capture.isOpened()) { //判斷能夠打開攝像頭
cout << "can not open the camera" << endl;
cin.get();
exit(1);
}
capture.set(CV_CAP_PROP_FRAME_WIDTH, 1280);
capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);
int count = 0;
while (1) {
Mat frame;
capture >> frame; //載入圖像
if (frame.empty()) { //判斷圖像是否載入
cout << "can not load the frame" << endl;
}
else {
count++;
if (count == 1) {
cout << frame.cols << " " << frame.rows << endl;
}
imshow("camera", frame);
char c = waitKey(30); //延時30毫秒
GetCurTime();
//按 s 鍵儲存成 jpg 檔
if (c == 's'){
string filename = GetCurTime() + ".jpg";
imwrite(filename,frame);
cout << "儲存圖檔:" << filename << endl;
}
if (c == 27) //按ESC鍵退出
break;
}
}
return 0;
}