2016-10-03 19 views
1

Я пытаюсь прочитать необработанное видео с веб-камеры, подключенной к моей машине Linux. Я использую библиотеки OpenCV и l4v2 (gstreamer). Вот некоторые подробности о моей камере:Чтение с веб-камеры linux с использованием OpenCV

[email protected]:~$ v4l2-ctl -d /dev/video0 --list-formats 
ioctl: VIDIOC_ENUM_FMT 
     Index  : 0 
     Type  : Video Capture 
     Pixel Format: 'YUYV' 
     Name  : YUV 4:2:2 (YUYV) 

     Index  : 1 
     Type  : Video Capture 
     Pixel Format: '' 
     Name  : e436eb7d-524f-11ce-9f53-0020af0 

     Index  : 2 
     Type  : Video Capture 
     Pixel Format: 'RGB3' (emulated) 
     Name  : RGB3 

     Index  : 3 
     Type  : Video Capture 
     Pixel Format: 'BGR3' (emulated) 
     Name  : BGR3 

     Index  : 4 
     Type  : Video Capture 
     Pixel Format: 'YU12' (emulated) 
     Name  : YU12 

     Index  : 5 
     Type  : Video Capture 
     Pixel Format: 'YV12' (emulated) 
     Name  : YV12 

Вот мой супер простой код:

VideoCapture capture = VideoCapture(0); 
if (!capture.isOpened()) { 
     // Error in opening the video input 
     cerr << "Unable to open video file for read: " << FLAGS_in_video << endl; 
} 
else { 
    cout << "Opened video for read: " << FLAGS_in_video << endl; 
} 

А вот выход и ошибки я получаю:

Trying to open device 0 to read. 
VIDEOIO ERROR: V4L/V4L2: VIDIOC_S_CROP 
mmap: Invalid argument 
Opened video for read: 0 
Unable to stop the stream.: Bad file descriptor 
munmap: Invalid argument 
munmap: Invalid argument 
munmap: Invalid argument 
munmap: Invalid argument 

Я построил OpenCV с флажками WITH_V4L и WITH_LIBV4L.

Буду признателен за любую помощь или совет по ее устранению. Спасибо.

ответ

1

Понял, что в итоге у меня был LP_PRELOAD, который заставлял l4lib загружаться вместо l4v2.

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

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