diff --git a/src/cv.cpp b/src/cv.cpp index b812d71..ccb7724 100644 --- a/src/cv.cpp +++ b/src/cv.cpp @@ -25,9 +25,16 @@ void initCV() { facemark = cv::face::FacemarkLBF::create(); facemark->loadModel (resolvePath("cvdata/lbfmodel.yaml")); - vid = cv::VideoCapture (0); + // cycle through all available cameras until we find one we can open + std::cout << "Looking for an open camera..." << std::endl; + for (int i = 0; i < 127; i++) { + vid = cv::VideoCapture (i); + if (vid.isOpened()) { + std::cout << "Camera " << i << " opened" << std::endl; + break; + } - if(!vid.isOpened()) {std::cout << "Camera not opened!" << std::endl;} + } } void dnnFaceDetect(cv::Mat inFrame, std::vector* faces) {