Использование камеры 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 );