Захват 1080p со скоростью 30 кадров в секунду от Logitech C920 с OpenCV 2.4.3

я пытаюсь захватить видеопоток с моего Logitech C920 в OpenCV. С Labview я могу получить доступ к потоку MJPG со скоростью 30 кадров в секунду 1080p. В opencv я ограничен 5fps или 640x480.

Вот код, соответствующий настройкам камеры:

this->camRef.set(CV_CAP_PROP_FRAME_WIDTH, 1920);
this->camRef.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);
this->camRef.set(CV_CAP_PROP_FOURCC,CV_FOURCC('M','J','P','G'));

Все они возвращают 1, но я получаю поток 5fps 1080p, который соответствует потоку YUY2.

Если я добавлю следующую строку:

this->camRef.set(CV_CAP_PROP_FPS, 30);

Это возвращает 0. Я получаю поток 30 кадров в секунду в 640x480. Для меня это похоже на настройку MJPG нене могут быть приняты, но я нене знаю, что делать или как это исправить.

РЕДАКТИРОВАТЬ: следующие сбой программы.

 this->camRef.read(this->image);
 std::cout< this->camRef.get(CV_CAP_PROP_FOURCC)                            < std::endl;
 std::cout< this->camRef.set(CV_CAP_PROP_FRAME_WIDTH, config.width)         < std::endl;
 std::cout< this->camRef.set(CV_CAP_PROP_FRAME_HEIGHT, config.height)       < std::endl;
 std::cout< this->camRef.set(CV_CAP_PROP_FOURCC,CV_FOURCC('M','J','P','G')) < std::endl;
 std::cout< this->camRef.get(CV_CAP_PROP_FOURCC)                            < std::endl;

Ответы на вопрос(3)

Ваш ответ на вопрос