今回も前回に続いてRaspberry PIのカメラコマンドを使ってみます。

前回と同様に撮影したデータはRaspberry PIのホームディレクトリにあるPicturesディレクトリに保存します。
カレントディレクトリはこのPicturesディレクトリとします。コマンドならcd ~/Picturesです。

○明るさの指定

 明るさの指定はbrightnessオプションになります。値が1.0になるほど明るくなり、-1.0になるほど暗くなります。

rpicam-still -o 1.jpg --rotation 180 --brightness 0.5 > /dev/null 2>&1

rpicam-still -o 2.jpg --rotation 180 --brightness -0.5 > /dev/null 2>&1

 明るさを指定するもう1つのオプションとしてevがあります。これは露出補正値を指定するものです。値が大きくなると明るく、負数になると暗くなります。

rpicam-still -o 1.jpg --rotation 180 --ev 2 > /dev/null 2>&1

rpicam-still -o 2.jpg --rotation 180 --ev -2 > /dev/null 2>&1

○彩度の指定

 彩度の指定はsaturationオプションになります。値が0になるほど彩度が下がり、値が大きくなるほど彩度が増します。

rpicam-still -o 0.jpg --rotation 180 --saturation 0 > /dev/null 2>&1

rpicam-still -o 5.jpg --rotation 180 --saturation 5 > /dev/null 2>&1

○JPEG以外の形式で保存

 通常はJPEG形式で保存されますが、PNGやBMPなど他の画像形式で保存したい場合もあります。この場合、encodingオプションを指定します。

rpicam-still -o 1.png --rotation 180 --encoding png > /dev/null 2>&1

rpicam-still -o 1.bmp --rotation 180 --encoding bmp > /dev/null 2>&1

 単純にJPEG形式で保存するだけならrpicam-jpegコマンドを使う方法もあります。


rpicam-jpeg -o 1.jpg --rotation 180 > /dev/null 2>&1

○ファイル名を時間に対応させる

 ファイル名を日時に対応させたい場合があります。この場合、datetimeオプションを指定します。(oオプションは不要)

rpicam-still --datetime --rotation 180 > /dev/null 2>&1

UNIXタイムにしたい場合はtimestampオプションを指定します。これは1970年1月1日午前0時からのミリ秒になります。

rpicam-still --timestamp --rotation 180 > /dev/null 2>&1

 datetimeオプションでは月日と時分秒の組み合わせになりますが、西暦4桁の年数も入れたい場合があります。このような場合はrpicam-stillのオプションでは無理なので以下のようにしてシェルの機能を利用します。
 以下の例では年月日と時分秒の組み合わせをファイル名にします。

rpicam-still -o $(date +"%Y%m%d_%H%M%S").jpg --rotation 180 > /dev/null 2>&1

それぞれの記号の意味は以下のようになります

○最後に撮影した画像を別名で生成する

 Webなどでライブカメラなどを実現する場合に最後に撮影した画像を表示したい場合があります。ただ、日付や連番ファイルで保存してしまうと、Web側での処理が大変です。そのような場合、rpicam-stillコマンドでは撮影した画像を特定の名前(パス)でシンボリックリンク(エイリアス)にすることができます。このようにすることでWeb側では常に同じファイル名で最新の撮影画像にアクセスすることができるようになります。
 なお、保存したファイルと同一ディレクトリでないと正しく処理されないので注意してください。
(シンボリックリンクが作成されません)

rpicam-still -o ./ --datetime --latest ./latest.jpg --rotation 180 > /dev/null 2>&1

.
編集部おすすめ