Raspberry Piで定点観察してみた
やること
Raspberry Piを使って定点撮影した画像をgifアニメーションにする。
完成イメージ
種から育てているパキポディウム・グラキリスの定点観測gif
成長の遅い植物なので撮影前はあまり動かないと思っていたが、gifアニメーションにすると意外と成長していた。
使うもの
Raspberry Pi3
家に余っていたため利用。
Raspberry Pi Zeroなどの更にスペックが低いものでも実施可能。
初期設定などに関しては今回は省略する。
webカメラ
余っていたため利用。できるかぎり画質のいいものが望ましいがどのようなwebカメラでも問題ない。
C980GRはType Cでの接続になるため、Raspberry Pi3に接続するためには変換が必要。
Type C to Type A変換器
webカメラがTypeCのため利用。
webカメラのケーブルがType Aの場合はType Cを接続できるため不要。
撮影設定
FSWEBCAMのインストール
下記のコマンドでfswebcamをRaspberry Piにインストールする。
$ sudo apt-get install fswebcam
写真の撮影
$ fswebcam -f 1 -S 20 --no-banner pic1.jpg
撮影できた画像
寒くなり落葉が完了したパキポディウム・グラキリス
ピントがなかなか合わない場合などは背景を白や黒の単色にすると少しピントがあいやすくなる。
fswebcamオプションの補足
今回指定しているfswebcamのオプションは以下。環境に合わせて値をいじることで、きれいな画像を撮影することができる。
-f , 露光時間、短いほどブレが少ない
-S, 撮影せずに露光を行う。カメラの種類によってはオートフォーカスや自動露光を行う。
--no-banner, 撮影日付のバナーを消す
定期撮影するためのスクリプトの作成
任意のフォルダに下記のスクリプトを作成する。
撮影された画像を/home/pi/Pictures配下に日付をつけて保存するスクリプト
plant_cap.sh
today=`date "+%Y%m%d"`
echo ${today}
file_name=${today}"image.jpg"
echo $file_name
sudo fswebcam -f 1 -S 20 --no-banner /home/pi/Pictures/$file_name
今日の日付がついた写真が/home/pi/Picturesに保存される。
定期実行するためのcronの登録
cronとは、設定した時間に指定されたプログラムを定期実行してくれるデーモン。今回は毎日12時に撮影するようにcronにplant_cap.shを登録する。
cronファイルをエディットモードで起動
$ crontab -e
開いたファイルの一番最後に下記の行を追加しcronに登録。
00 12 * * * /bin/bash /home/pi/plant_cap.sh
撮影したファイルでgifアニメーションを作成
ある程度の日数撮影を進めて、画像が溜まってきたタイミングでgif画像を作成する。
今回は2022/06/13-2022/11/06の期間で撮影を行った画像を元にgifアニメーションを作成する。
convertコマンドのインストール
convertコマンドは、ImageMagickというパッケージに含まれる画像変換をおこなうことができるコマンド。gifの作成以外にも、画像のフォーマット変換、リサイズ、切り出しなどをおこなうことができる。
$ sudo apt-get install imagemagick
画像をgifアニメーションに変換
Pictures配下にある.jpgを指定して変換をおこなう。
$ convert -delay 10 -loop 0 ./Pictures/*.jpg image.gif
変換したgifアニメーション
パキポディウム・グラキリスが休眠を明けてからまた休眠するまでの成長の様子を1つのgifアニメーションにすることができた。
convertオプションの補足
convertオプションを変更することで、画像の切り替わりのタイミングなどを変更することができる。
-delay, 画像の切り替わる時間(単位:1/100秒)
-loop, ループする回数(0を指定した場合は無制限)
この記事が気に入ったらサポートをしてみませんか?