2022年5月7日土曜日

C270をv4l2-ctlでパラメータを操作していて

発売開始時期は知らないが、10以上前なのは確実だと思う。ちょっと調べてみるか…

同じ名前で何度かリニューアルされている感じがするが、最近ではC270nとなってほかのモデルも~nとなってリニューアルされている。C310もC310nとなっていた。

C270はhttp://www.macotakara.jp/blog/accessories/entry-9235.htmlを見ると、2010/08/27となっていた。初代はもっと古かった気もするが、このぐらいなのかもしれない。アマゾンで見ると発売日が2010/8/20となっていたがC310も同じ日付になっていたので、正しい日付はおそらく27日。アマゾンの情報を信頼するなら、定価はC270は¥4,980、C310は¥5,800の模様。記憶ではC270の実売価格は¥3,200~¥1,350ぐらいだったと思う。リニューアルは実売価格に対する販売価格調整だと思う。

夜空を直接撮影していて気付いたパラメータ設定に癖があったのでメモ書き。

明るい場所の撮影は自動調整でほぼ問題なくそれなりに撮影できる。反応速度も実用範囲内だと思う。

pi@rasp3b:~ $ v4l2-ctl -d /dev/video1 -L
                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=32 value=32
                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=32 value=32
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=64 value=192
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=0
                                0: Disabled
                                1: 50 Hz
                                2: 60 Hz
      white_balance_temperature 0x0098091a (int)    : min=0 max=10000 step=10 default=4000 value=6760 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=24 value=24
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
                                1: Manual Mode
                                3: Aperture Priority Mode
              exposure_absolute 0x009a0902 (int)    : min=1 max=10000 step=1 default=166 value=5 flags=inactive
         exposure_auto_priority 0x009a0903 (bool)   : default=0 value=1

これは屋内撮影を想定した使用を想定しているため、暗い場所での撮影は自動ではうまく撮影できない。限界まで感度を得ようとすると露光とゲインを上げて撮影する。そのために

v4l2-ctl -c gain=255,exposure_auto=1,exposure_absolute=10000

というように1回実行し、-Lでパラメータを確認するとちゃんとパラメータが反映されているように見えるのだが、実際の得られる画像がまだ暗い。もう一度実行すると、明るくなる。どうも設定値と実際にデバイスが動作している値とズレがある。C270のファームウェアのバグか、ハード的なバグか、v4l2-ctl側のバグかは不明。だが、どうもおかしい。

一気に設定しているので順番を入れ替えてみるが、変化なし。2回設定を実行する必要がある。

設定値を一つ一つバラバラに実行してみると、状況が若干変わる。

gainを設定して、exposure_autoを設定して、exposure_absoluteを設定しても一気に設定した状態と変わらないが、さらにgainを設定すると、画像が明るくなった。

次に順序を変えてみる。

exposure_auto=3ではexposure_absoluteをセットしても無視されるので最初にexposure_auto=1を実行するのは必須。そのあとexposure_absoluteをセットする。その後gainを上げると…あら不思議、ちゃんと動いた。

結論として、マニュアルでexposure_absoluteをセットすると、C270内部のgainが強制的に書き換えらえれいるように見える。よって、exposure_absoluteを設定した後はgainを設定する必要がある。

余談として、逆にexposure_autoをマニュアル(1)から自動(3)にして結果としてexposure_absoluteが変化してもgainは変化していないように見えた。

0 件のコメント:

コメントを投稿