static Ptr<IVideoCapture> IVideoCapture_create(const String& filename) { Ptr<IVideoCapture> capture; capture = createMotionJpegCapture(filename); if (capture && capture->isOpened()) { return capture; } // failed open a camera return Ptr<IVideoCapture>(); }
static Ptr<IVideoCapture> IVideoCapture_create(const String& filename) { int domains[] = { CV_CAP_ANY, #ifdef HAVE_GPHOTO2 CV_CAP_GPHOTO2, #endif -1, -1 }; // try every possibly installed camera API for (int i = 0; domains[i] >= 0; i++) { Ptr<IVideoCapture> capture; switch (domains[i]) { case CV_CAP_ANY: capture = createMotionJpegCapture(filename); break; #ifdef HAVE_GPHOTO2 case CV_CAP_GPHOTO2: capture = createGPhoto2Capture(filename); break; #endif } if (capture && capture->isOpened()) { return capture; } } // failed open a camera return Ptr<IVideoCapture>(); }