2016-10-03 14 views
1

내 리눅스 컴퓨터에 연결된 웹 카메라에서 원본 비디오를 읽으려고합니다. 저는 OpenCV와 lv2 라이브러리 (gstreamer)를 사용하고 있습니다. 내가 얻을 여기OpenCV를 사용하여 Linux 웹 카메라에서 읽기

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 

내가 구축 한

다음
[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 

내 매우 간단한 코드입니다 : 여기 내 카메라에 대한 몇 가지 세부 사항입니다 WITH_V4L 및 WITH_LIBV4L 플래그가 ON 인 OpenCV.

모든 도움을 주시거나 문제를 해결하는 방법에 대해 조언 해 주시면 감사하겠습니다. 고맙습니다.

답변

1

필자는 결국 l4v2 대신 l4lib가로드되도록하는 LP_PRELOAD를 가졌습니다.