ラズパイでRaspberry Pi カメラモジュールを使って画像保存・動画撮影する方法をご紹介します。
Pythonプログラムです。
ラズパイカメラは、簡単に手に入って、動かすためのライブラリも揃っています。
今回はとにかく簡単に画像保存・動画撮影する方法をご紹介します。
画像処理が絡むと必ずと言っていいほどOpenCVが登場しますが、今回はあえて使いません。
シンプルに、Pi Cameraモジュールを繋いで写真を撮る。動画を撮る方法を知りたい方向けです。
デジカメのようにリアルタイム画像を見ながら画像保存・動画撮影したい方はこちらの記事をご参照ください。
今回のシンプル版でやること
・ラズパイ設定
・picameraで画像保存
・picameraで動画撮影
シンプルですね!
順に見ていきましょう。
やること
大前提に、ラズパイとRaspberry Pi カメラモジュールが必要です。
Amazonなどの他、秋月電子やスイッチサイエンスなどでも入手可能です。
ラズパイ設定
Piカメラモジュールをラズパイに接続します。
「設定」-「Raspberry Piの設定」と進み、コンフィグ画面を起動します。
「インターフェイス」を選択し、「カメラ」を有効にします。
設定が終わったら再起動します。
picameraで画像保存
設定が終わったらライブラリをインストールします。
pythonでラズパイカメラ利用するのに便利なライブラリがあります。
おそらくデフォルトでインストールされています。
無い場合はライブラリを入手しておきます。
pip install icamera
ライブラリさえあれば、びっくりするぐらい簡単です。
import picamera
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
camera.capture('captured_image.jpg')
テキストファイルの保存をするのと同じ要領で、「picamera.PiCamera()」関数を呼び出します。
解像度と保存ファイル名を指定したら完了です。
撮影結果がこちらです。
ラズパイ4の箱を撮影したものです。
使用したのはPiカメラモジュール v2です。
固定で保持していなかったので手ブレが起きています。すいません。
画質は、値段を考えるとなかなか綺麗です。
picameraで動画撮影
静止画の画像保存をご紹介しました
写真撮影ができるようになったら次は動画ですね。
音声無しの動画
動画撮影の骨子部分は次のとおりです。
import picamera
import time
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
camera.framerate = 30 #フレームレート
camera.start_recording('video.h264')
recording_time = 10 #撮影時間
camera.wait_recording(recording_time)
camera.stop_recording()
先ほどの静止画撮影と作法は同じです。
フレームレート設定、動画の撮影時間のパラメータが増えています。
後ほど紹介するサンプルコードを実行すると、'video.h264'
が保存されます。
動画になるので紹介画像は割愛します。
サンプルコード_静止画像の保存
先ほど紹介の静止画像保存に、サンプルコードとして少し整えたものです。
import picamera
# 保存する画像のファイル名
output_file = 'captured_image.jpg'
# カメラを初期化して画像をキャプチャします
with picamera.PiCamera() as camera:
# 画像の解像度を設定します
camera.resolution = (1280, 720)
# 画像をキャプチャしてファイルに保存します
print("画像をキャプチャしています...")
camera.capture(output_file)
print("画像が保存されました:" + output_file)
サンプルコード_動画撮影
先ほど動画撮影用で紹介したコードを合体したものがこちらです。
import picamera
import time
# ビデオの保存先ファイル名とフレームレートを設定します
output_file = 'video.h264'
frame_rate = 30
# カメラを初期化してビデオ撮影を開始します
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720) # ビデオの解像度を設定します
camera.framerate = frame_rate
print("ビデオ撮影を開始します...")
camera.start_recording(output_file) # ビデオの記録を開始します
# 指定した秒数だけビデオを録画します
recording_time = 10 # 10秒間録画する例
camera.wait_recording(recording_time)
# 録画を停止します
camera.stop_recording()
print("ビデオ撮影を停止しました")
print("ビデオ撮影が完了しました")
これで、PythonプログラムでRaspberry Pi カメラモジュールを使った画像保存・動画撮影をすることができました。
OpenCVを使わずにここまでできます。
picameraライブラリは標準インストールされていますので、
ラズパイ本体とPiカメラモジュールを購入されてすぐ試すことができます。
とりあえず習作に使ってみるのも良いのではないでしょうか。
今回は以上となります。
この記事が少しでもお役に立てれば幸いです。
それでは、読んで頂きありがとうございました!