12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡

7-24. Raspberry Piでタイムラプス撮影

はじめに

Raspberry Pi のカメラモジュールを買ったので、タイムラプス撮影に挑戦します。

撮影環境

このような感じで、大きな段ボールの中に撮影環境を組みます。

撮影中はラズパイとUSBバーライトの電源をONにしますので、じわじわ電気代がかかります。ラズパイとのSSH接続は検索してなんとかします。

プログラム

必要なパッケージをインストールします。

pip install picamera
pip install schedule

一定時間毎に写真を撮るプログラムを用意します。

import time
import datetime
import picamera
import schedule

#実行内容
def job():
    print("Working...")
    with picamera.PiCamera() as camera:
        camera.resolution = (2592, 1944) #カメラモジュールの解像度
        
        #時刻をファイル名にする
        dt_now = datetime.datetime.now()
        name = '{}.jpg'.format(dt_now.strftime('%Y-%m-%d-%H-%M-%S'))
        print(name)
        
        #撮影と保存
        camera.capture('save/{}.jpg'.format(name))


#1分毎に実行
schedule.every(1).minutes.do(job)
#30分毎に実行
#schedule.every(30).minutes.do(job)
#毎時01分に実行
#schedule.every().hours.at(":01").do(job)

#無限ループでスタート
while True:
    schedule.run_pending()
    time.sleep(2)

画像保存用のフォルダを作成します。

mkdir save

SSH接続で実行する場合、普通に実行してしまうとSSH接続の終了時にジョブも終了してしまいます。

#ダメな例
python3 timelapse.py

次のようにバックグラウンドで実行します。

#良い例
nohup python3 timelapse.py &

コンソール出力は「nohup.out」というファイルに書き込まれていきます。

結果

柿の追熟の様子を動画にしました。(そのプログラムを公開せよ、とは思いますが)

柿の追熟タイムラプス(17日間)

始めて気が付いたことがあるのですが、柿ってしぼむのですね。「熟すと甘くなる」とか言ってるのは単に水分が抜けて糖分の濃度が上がっただけ、という仮説が立ちます。

おまけ

Shoe-Craft-Terminalでの3Dプリントの様子も撮影しました。

【Shoe-Craft-Terminal】オーダーメイド木型の3Dプリント(後部)
【Shoe-Craft-Terminal】オーダーメイド木型の3Dプリント(前部)
【Shoe-Craft-Terminal】透明な仮靴の3Dプリント(左足)
【Shoe-Craft-Terminal】透明な仮靴の3Dプリント(右足)

さいごに

なぜか写真毎に彩度?トーン?が変わってしまい、動画に再構成するとチカチカして目に悪いです。このあたりの設定を固定できると良くなりそうです。

SNS等でお気軽にご連絡ください

※当ブログに関することは何でもご相談・ご依頼可能です(Servicesになくても)
※TwitterはFF外の場合はDMではなく返信orメンションでお願いしますm(_ _)m

情報発信しています

質問・コメントはSlackやDiscordでお気軽に

勉強会の告知はこちらで

Raspberry Pi / Arduino
この記事を書いた人

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

この記事をシェアする
Vignette & Clarity(ビネット&クラリティ)
タイトルとURLをコピーしました