2013-03-15 3 views
1

Я пишу программу Python с помощью OpenCV, но я не могу захватить изображения с камер v4l2.Поддерживает ли OpenCV v4l2?

Я попытался использовать как PS2 EyeToy, так и Droidcam (виртуальную веб-камеру Android), которые используют v4l2, и ни одна из них не работает: cv.CaptureFromCAM (0) возвращает None.

Я могу использовать как веб-камеры в других программах (попробовал VLC и Kamerka).

Я думаю, что OpenCV поддерживает только v4l, а не v4l2.

Как я могу решить эту проблему? Существует ли v4l2-> v4l-конвертер?

EDIT: Я читал, что cv.CaptureFromFile использует ffmpeg для декодирования видеофайлов. Можно ли вручную указать формат, поэтому я могу использовать ffmpeg's video4linux2 demuxer?

+1

Пожалуйста, ознакомьтесь с ответами, поделитесь тем, кто был вам полезен, и если один из них приведет вас к решению проблемы, вы должны нажать на флажок рядом с ним, чтобы выбрать его в качестве официального ответа. Делая эти вещи, вы помогаете будущим посетителям. – karlphillip

ответ

3

OpenCV поддерживает V4L2, но, возможно, не по умолчанию.

Загрузить исходный код OpenCV и убедитесь, что в вашей системе установлены заголовки и библиотеки v4l2..

После настройки OpenCV с cmake, проверьте его вывод:

-- Video I/O: 
--  DC1394 1.x:     NO 
--  DC1394 2.x:     YES (ver 2.2.0) 
--  FFMPEG:      YES 
--  codec:      YES (ver Unknown) 
--  format:     YES (ver Unknown) 
--  util:      YES (ver Unknown) 
--  swscale:     YES (ver Unknown) 
--  gentoo-style:    YES 
--  OpenNI:      NO 
--  OpenNI PrimeSensor Modules: NO 
--  PvAPI:      NO 
--  GigEVisionSDK:    NO 
--  QuickTime:     NO 
--  QTKit:      YES 
--  V4L/V4L2:     NO/NO 

Если вы заметили выше вывод, OpenCV не будет строить с поддержкой V4L/V4L2 на моей системе, потому что не имеют установлены необходимые файлы разработки.

+0

Этот выход - от OpenCV 2.4.4a. – karlphillip

1

Для OpenCV 3.2.0, включая следующие в опциях Cmake работал для меня

из https://github.com/opencv/opencv/issues/7974

-DWITH_V4L=ON 
-DWITH_LIBV4L=ON 

я менее уверен, что это один был аффект, но из VideoCapture Does Not Work in Anaconda

-DWITH_FFMPEG=1 

Включая все 3 в моих вариантах cmake, казалось, было тем, что в конечном итоге сделало мою работу

 Смежные вопросы

  • Нет связанных вопросов^_^