#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;
}