#include <iostream> #include <sstream> #include <time.h> #include <stdio.h> #include <opencv2/opencv.hpp> #define ESC_KEY 27 #ifndef _CRT_SECURE_NO_WARNINGS # define _CRT_SECURE_NO_WARNINGS #endif using namespace cv; using namespace std; //SavePicture(frameL, picDir, picLeft, num); void SavePicture(Mat view, string dir, string name, int num) { string str_file = dir + "/" + name + to_string(num) + ".jpg"; imwrite(str_file, view); } int main17060700() { VideoCapture cameraL; VideoCapture cameraR; cameraL.open(1); cameraR.open(0); //判断相机是否打开 while (!cameraL.isOpened()) { cout << "cannot cameraL" << endl; } while (!cameraR.isOpened()) { cout << "cannot cameraR" << endl; } int viewWidth = 640; int viewHeight = 480; cameraL.set(CV_CAP_PROP_FRAME_WIDTH, viewWidth); cameraL.set(CV_CAP_PROP_FRAME_HEIGHT, viewHeight); cameraR.set(CV_CAP_PROP_FRAME_WIDTH, viewWidth); cameraR.set(CV_CAP_PROP_FRAME_HEIGHT, viewHeight); Mat frameL, frameR; int num = 1; clock_t prevTimestamp = 0; int delay = 5000; string picDir = "Ca_Pic"; //在根目录下建一个这个名字的文件夹 string picLeft = "left"; string picRight = "right"; while (true) { bool a = false; Mat frameL1, frameR1; bool blinkOutput = false; cameraL >> frameL; cameraR >> frameR; if (frameL.empty() && frameR.empty()) { break; } if (cameraR.isOpened() && cameraL.isOpened() ) { char key = waitKey(10); if (key == 'g' || key == 'G' || key == 32 || key == ' ') { SavePicture(frameL, picDir, picLeft, num); SavePicture(frameR, picDir, picRight, num); //bitwise_not(frameL, frameL); //bitwise_not(frameR, frameR); num++; } putText(frameL, to_string(num - 1), Point(20, 20), 1, 1, Scalar(0, 0, 255)); putText(frameR, to_string(num - 1), Point(20, 20), 1, 1, Scalar(0, 0, 255)); cv::imshow("Left", frameL); cv::imshow("Right", frameR); if (key == ESC_KEY ) break; } if (num == 26) { cout << "捕获完成" << endl; break; } } return 0; }
opencv打开双目
猜你喜欢
转载自blog.csdn.net/moonlightpeng/article/details/80201165
今日推荐
周排行