HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その2) #RaspberryPi #PiCamera #Python

前回から間が空いてしまいましたが、露出を変えて連続で撮影する処理を作成します。

Pythonのfor文でループしつつ、露出を変えて何度も撮影するプログラムを、試作しましたが、

思った様に明るさが変わらないので、試行錯誤した結果、撮影だけのプログラムを別途作成し、別のPythonプログラムからパラメータを変えて連続で呼び出して、

明るさの異なる写真を5枚、取得する様にしました。

明るさが変わらない理由は不明で、シャッター速度・ISO感度を変更してsleep(2〜10秒)しても、2回目以降のループで明るさが変わらなくなります。

しかも、露出補正レベル(exposure_compensation)に関しては、1回目のループでも全く効果がありません。。。。

公式のドキュメントも確認しましたが、露出補正レベル、シャッター速度、ISO感度の使い方は間違っていない様です。

気持ち悪いですが、前述の様にPythonのプロセスを別にすれば、シャッター速度・ISO感度の変更が効いていたので、

撮影とプロセスを別にしました。

Pythonの撮影処理を別プロセスにするにあたって、前回のプログラムを、引数で撮影設定を変更できる様に修正しました。

画像サイズとISO感度、露出モード、シャッタスピード、露出補正レベル、出力ファイル名を指定できる様にしました。

シャッタースピード、ISO感度を変更しながら、撮影するPythonプログラムを呼び出すプログラムを作成しました。

露光補正(exposure_list)は私の環境では効きませんが、一応、指定できる様にしています。

後は、cronで回す際の参考に、大まかな処理時間が知りたかったので、処理時間の計測のための処理を入れています。

だいたい、5枚の撮影処理に10秒ぐらいかかってます。

これで、HDR静止画を作るために必要な、明るさの異なる画像ファイルが撮影できる様になりました。

撮影の設定について説明させていただくと、基本的に薄暗い室内を撮影することを想定しています。

シャッタースピード(shutter_speed_list)とISO感度(iso_list)で明るさを調整し、明るさの異なる5枚の写真が撮れる様にしています。

露光モードはISO1600の時だけ、sportsにしています。(カメラの制限)

最後にこんな感じの5枚の明るさの異なる画像が撮れます。(写真に色々見えますが気にしない)

次は、OpenCVでHDR合成を行い、ffmpegでタイムラプス動画を作成します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です