私は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-3の値を設定できます。しかし私はこれを解決したと思う。 – Kenny