【Raspberry Pi4】Pythonでラズパイカメラを動かす!【Python】

スポンサーリンク
cam_mojPython
スポンサーリンク

はじめに

前回の記事でカメラモジュールの接続と設定、動作確認を済ませたので今回はPythonからカメラモジュールでの動画の撮影を行ってみました。

ついでに拡張子の変換も行っています。

RaspbianでのPython実行環境

Raspbianには元々Pythonの統合環境(エディタと実行環境のセット)「Thonny Python IDE」が入っているようなので、そちらを使ってとりあえずはいつも通りの「helloworld」を表示したいと思います。

スタートメニューの「プログラミング」「Thonny Python IDE」を開きます。

スタートメニュー「プログラミング」「Thonny Python IDE」

使ったことはないですが、統合環境っぽい見た目のウィンドウが開きました。

Thonny Python IDE

統合環境のPythonはデフォルトで3系になっていて素晴らしいですね!(Raspbian自体のデフォルトは2系だった気がします)

早速「helloworld」を表示させてみます。コードは次の通りです。

print("helloworld")

次の画像のようにコードを打ち込んで「Run」を押すとプログラムを保存するように言われるので、適当な位置にプログラムを保存して続行するとShellに結果が出力されました。

ちなみにShellに直接打ち込んでも、もちろん動きました。

Shellに直接打ち込んでも、もちろん動作する

とりあえずプログラムが実行できることが確認できたので、統合環境の詳しい使い方はひとまず置いておいてカメラモジュールを使えるようにします。

Pythonで写真撮影をする!

まずは写真撮影から。

次のコードを書き込んで実行します。

import picamera #カメラモジュール用

cap = picamera.PiCamera() #インスタンス生成
cap.resolution = (1920, 1080) #画像サイズの指定
cap.capture("capture.jpg") #撮影

プログラムを実行すると直ぐに写真が撮影されます。

撮影された写真はPythonのプログラムを保存している場所に保存されます。

画像が暗いのはカメラが起動して直ぐに撮影するからかな?

Pythonで動画の撮影をする!

今回の目標であるpythonでの動画の撮影です。

次のコードを実行して5秒間の動画を撮影してみます。

import picamera #カメラモジュール用
from time import sleep #時間計測用

cap = picamera.PiCamera() #インスタンス生成
cap.resolution = (1920, 1080) #画像サイズの指定

cap.start_recording('movie.h264') #録画開始
sleep(5) #5秒待つ
cap.stop_recording() #録画終了
録画プログラムの実行

うまく実行されていれば、次のように「movie.h264」というファイルがpythonプログラムを保存した場所と同じ場所に保存されているはずです。

pythonプログラムと同じ場所に「movie.h264」という動画が保存される

Raspbian上では再生することができるので、動画が撮影されているか確認します。

拡張子を変換しておく

WindowsやMacでは「h264」という拡張子は使いにくいので「mp4」に変換しておきます。

LXTerminalで次のコマンドを入力します。

sudo apt-get update
sudo apt-get install gpac

容量の確認がありますが、(一応確認してから)「y」を入力してインストールします。

gpacをコマンドでインストールする

次に「movie.h264」が存在するディレクトリ(場所)まで移動して次のコマンドを入力。

MP4Box -add movie.h264 movie.mp4

これでh264からmp4へと変換されます。

h264からmp4へ変換する

これで「movie.h264」と同じディレクトリに「movie.mp4」が新しく作られています。

撮れた動画はこんな感じです。

最後に

動画が撮影できるようになったら次にやることはカメラの同期とか画像処理かな?

コメント

タイトルとURLをコピーしました