2016-06-17 15 views
0

私はELP-USBFHD01M-L21カメラを使用しています。それは自動露出のサポートを持っていると主張し、私はそれを私のMacに接続するとそうだ。誰かがUSB Video Classコマンドを使用して自動露出を有効/無効にしたと書いたOS X上のサンプルアプリケーションをダウンロードしたところ、問題なく表示されました。V4L2経由で自動露出を有効にできません

Debian 8.5システムでは、私はPythonを使ってv4l2にアクセスしています。ここで私は手動モードへの露出を設定しています。この値は(1)及び3の値が受け入れられている:私はゼロにexposure_autoを設定しようと

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) 

それがで失敗します。

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 

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。 「露出」を検索します。

関連する問題