2016-06-17 5 views
0

ELP-USBFHD01M-L21 카메라를 사용하고 있습니다. 그것은 자동 노출 지원을 가지고 있다고 주장하고 그것을 나의 Mac에 연결할 때 그렇게 보입니다. OS X에서 USB 비디오 클래스 명령을 사용하여 자동 노출을 활성화/비활성화하는 사용자가 작성한 샘플 응용 프로그램을 다운로드 했으므로 문제가없는 것 같습니다.V4L2를 통해 자동 노출을 사용할 수 없음

데비안 8.5 시스템에서는 파이썬을 사용하여 v4l2에 액세스하고 있습니다. 여기서 나는 수동 모드에 노출을 설정하고있다. 이 값 (1)과 (3)의 값이 허용됩니다 유틸리티와

Traceback (most recent call last): 
    File "camera.py", line 207, in <module> 
    camera = Camera('/dev/video0') 
    File "camera.py", line 45, in __init__ 
    a = self._camera.set_exposure_auto(0) 
IOError: [Errno 34] Numerical result out of range 

유사한 결과 :

$ v4l2-ctl -c exposure_auto=0 
VIDIOC_S_EXT_CTRLS: failed: Numerical result out of range 
Error setting controls: Numerical result out of range 
$ v4l2-ctl -c exposure_auto=1 

self._camera = v4l2capture.Video_device(device) 

self._frame_size = self._camera.set_format(*requested_frame_size) 

# 0: V4L2_EXPOSURE_AUTO 
# 1: V4L2_EXPOSURE_MANUAL 
# 2: V4L2_EXPOSURE_SHUTTER_PRIORITY 
# 3: V4L2_EXPOSURE_APERTURE_PRIORITY 

actual = self._camera.set_exposure_auto(1) 

가 나는 그것이 실패 제로로 exposure_auto을 설정하려고하면

설명자를 확인하기 위해 lsusb -v을 사용하면 다음과 같습니다 (발췌) :

VideoControl Interface Descriptor: 
    bLength    18 
    bDescriptorType  36 
    bDescriptorSubtype  2 (INPUT_TERMINAL) 
    bTerminalID    1 
    wTerminalType  0x0201 Camera Sensor 
    bAssocTerminal   0 
    iTerminal    0 
    wObjectiveFocalLengthMin  0 
    wObjectiveFocalLengthMax  0 
    wOcularFocalLength   0 
    bControlSize     3 
    bmControls   0x0000000e 
     Auto-Exposure Mode 
     Auto-Exposure Priority 
     Exposure Time (Absolute) 
+0

수동 노출 시간은 설정하지 않고 자동 노출 모드는 0-3 일 수 있으며 값은 주석에 정의되어 있습니다. 그러나 나는 이것을 해결했다고 생각한다. – Kenny

답변

0

camera.set_exposure_auto(0)을 만들 때 약간의 수정이있었습니다. 3의 값은 수동 조리개 조정으로 자동 노출입니다. 이 카메라에는 아이리스가 없습니다 (적어도 기계적인 것은 아닙니다). 자동 노출 방식이 활성화되어있는 것처럼 보입니다.

0의 값은 자동 조리개와 함께 자동 노출이며 이것이 지원되지 않는 이유를 되돌아 보면 의미가 있습니다.

일부 documentation here. "노출"을 검색하십시오.