Использование камеры OSVR в OpenCV 3

Я пытаюсь использовать ИК-камеру OSVR в OpenCV 3.1.

Инициализация работает нормально.

Зеленый светодиод горит на камере.

Когда я звоню VideoCapture.read(mat) он возвращает ложь и mat пустой. Другие камеры работают нормально с тем же кодом, и VLC может захватывать поток с камеры OSVR.

Некоторое дальнейшее тестирование показывает: grab() верните истину, тогда как retrieve(mat) снова возвращает ложь. Получение ширины и высоты от камеры дает ожидаемые результаты, но MODE и FORMAT дают мне 0.

Это проблема конфигурации? Может ли это быть решено комбинацией VideoCapture.set звонки?

1 ответ

Решение

альтернатива Официальный ответ, полученный от разработчиков (после моего собственного решения ниже): Причина, по которой моя камера не работала из коробки с OpenCV, может заключаться в том, что она имеет старую прошивку (до v7).

Обойти (или просто обновить прошивку):

Я нашел ответ здесь, просматривая все, что удаленно связано с проблемой: Самый быстрый способ получить кадры с веб-камеры

Вы должны указать, что он должен использовать DirectShow.

VideoCapture capture( CV_CAP_DSHOW + id_of_camera );
Другие вопросы по тегам