示例#1
0
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>();
}
示例#2
0
文件: cap.cpp 项目: Audenrith/opencv
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>();
}