はじめに
前回の記事でカメラモジュールの接続と設定、動作確認を済ませたので今回はPythonからカメラモジュールでの動画の撮影を行ってみました。
ついでに拡張子の変換も行っています。
RaspbianでのPython実行環境
Raspbianには元々Pythonの統合環境(エディタと実行環境のセット)「Thonny Python IDE」が入っているようなので、そちらを使ってとりあえずはいつも通りの「helloworld」を表示したいと思います。
スタートメニューの「プログラミング」「Thonny Python IDE」を開きます。
使ったことはないですが、統合環境っぽい見た目のウィンドウが開きました。
統合環境のPythonはデフォルトで3系になっていて素晴らしいですね!(Raspbian自体のデフォルトは2系だった気がします)
早速「helloworld」を表示させてみます。コードは次の通りです。
print("helloworld")
次の画像のようにコードを打ち込んで「Run」を押すとプログラムを保存するように言われるので、適当な位置にプログラムを保存して続行するとShellに結果が出力されました。
ちなみにShellに直接打ち込んでも、もちろん動きました。
とりあえずプログラムが実行できることが確認できたので、統合環境の詳しい使い方はひとまず置いておいてカメラモジュールを使えるようにします。
Pythonで写真撮影をする!
まずは写真撮影から。
次のコードを書き込んで実行します。
import picamera #カメラモジュール用 cap = picamera.PiCamera() #インスタンス生成 cap.resolution = (1920, 1080) #画像サイズの指定 cap.capture("capture.jpg") #撮影
プログラムの実行 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プログラムを保存した場所と同じ場所に保存されているはずです。
Raspbian上では再生することができるので、動画が撮影されているか確認します。
拡張子を変換しておく
WindowsやMacでは「h264」という拡張子は使いにくいので「mp4」に変換しておきます。
LXTerminalで次のコマンドを入力します。
sudo apt-get update sudo apt-get install gpac
容量の確認がありますが、(一応確認してから)「y」を入力してインストールします。
次に「movie.h264」が存在するディレクトリ(場所)まで移動して次のコマンドを入力。
MP4Box -add movie.h264 movie.mp4
これでh264からmp4へと変換されます。
これで「movie.h264」と同じディレクトリに「movie.mp4」が新しく作られています。
撮れた動画はこんな感じです。
最後に
動画が撮影できるようになったら次にやることはカメラの同期とか画像処理かな?
コメント