💡
V4L2(Video for Linux 2)のカメラの調整
jetson nanoやラズパイで定点カメラを運用しています。
そのときのカメラの設定のメモ。
必要なツールのインストール
$ sudo apt install v4l-utils
設定可能な項目の確認
$ v4l2-ctl -d /dev/video0 -L
brightness 0x00980900 (int) : min=-64 max=64 step=1 default=0 value=0
contrast 0x00980901 (int) : min=0 max=100 step=1 default=38 value=25
saturation 0x00980902 (int) : min=0 max=100 step=1 default=64 value=64
hue 0x00980903 (int) : min=-180 max=180 step=1 default=0 value=0
white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1
gamma 0x00980910 (int) : min=100 max=500 step=1 default=300 value=300
gain 0x00980913 (int) : min=0 max=128 step=1 default=64 value=64
power_line_frequency 0x00980918 (menu) : min=0 max=2 default=1 value=1
0: Disabled
1: 50 Hz
2: 60 Hz
white_balance_temperature 0x0098091a (int) : min=2800 max=6500 step=10 default=4600 value=4600 flags=inactive
sharpness 0x0098091b (int) : min=0 max=100 step=1 default=50 value=50
backlight_compensation 0x0098091c (int) : min=0 max=2 step=1 default=0 value=0
exposure_auto 0x009a0901 (menu) : min=0 max=3 default=3 value=1
1: Manual Mode
3: Aperture Priority Mode
exposure_absolute 0x009a0902 (int) : min=50 max=10000 step=1 default=625 value=100
exposure_auto_priority 0x009a0903 (bool) : default=0 value=0
focus_absolute 0x009a090a (int) : min=0 max=1023 step=1 default=68 value=170
focus_auto 0x009a090c (bool) : default=1 value=0
設定できる項目や値はカメラによって異なります。
映像がちらつく場合
室内の場合は蛍光灯の周波数が関係している場合が多いので、まずはpower_line_frequency
の値を確認します。50Hzか60Hzを選べるので、その地域の交流電源の周波数に合わせます。
私の場合は関東にいるので、50Hzにセットします。この項目のデフォルト値はカメラによって異なります。
$ v4l2-ctl -d /dev/video0 -c power_line_frequency=1
それでもまだちらつく場合は露出をマニュアルにセットします。
$ v4l2-ctl -d /dev/video0 -c exposure_auto=1
$ v4l2-ctl -d /dev/video0 -c exposure_absolute=100
exposure_absolute
の値をいろいろと変えて、ちらつかないところを見つけてください。
オートフォーカスをオフ
$ v4l2-ctl -d /dev/video0 -c focus_auto=0
$ v4l2-ctl -d /dev/video0 -c focus_absolute=170
雨の日にガラスについた雨粒にフォーカスがあってしまうのを防ぎます。
関連
Discussion