はじめに
2016年11月、Raspberry Pi2にRaspberry Pi専用カメラモジュールを接続しました。
カメラモジュールの仕様
公式ドキュメントに、カメラの説明が記載されています。
接続したカメラモジュールドはV1 (第1世代)で、5メガピクセルのCMOSイメージセンサーを搭載しています。
- センサー : OmniVision OV5647
- 解像度 : 2592×1944ピクセル
- 動画 : 1080p30 ,720p60 , 640×480p60/90
ライブラリのインストール
ソフトウェアをアップデートします。
sudo apt-get update sudo apt-get upgrade
OSバージョンを下記に示します。ファームウェアバージョンは#930です。
pi@pi2note:~ $ uname -a Linux pi2note 4.4.34-v7+ #930 SMP Wed Nov 23 15:20:41 GMT 2016 armv7l GNU/Linux pi@pi2note:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 8.0 (jessie) Release: 8.0 Codename: jessie
カメラの接続
専用カメラは、Raspberry Pi の CSIバス(Camera Serial Interface)にリボンケーブルで接続します。
カメラを有効にする
Raspberry Piのカメラを有効化します。
sudo raspi-config
「5 Enable Camera」→「はい」→「了解」で、カメラを有効化して終了します。一度、リブートします。
カメラ接続テスト
専用カメラが接続されているか確認します。
pi@pi2note:~ $ vcgencmd get_camera supported=1 detected=1
静止画撮影
静止画の撮影テストしてみます。
raspistill -o still.jpg
5秒間プレビュー映像が表示されて、静止画が-o オプションで指定したファイル名で保存します。 プレビュー時間は、-t オプションで変更できます。省略した場合は、5秒間です。
プレビュー時間を10秒にしてみます。
raspistill -o still.jpg -t 10000
解像度は、2592×1944ピクセルで保存されます。 解像度を-w ,-h オプションで指定することもできます。
解像度を、640×480ピクセルにしてみます。
raspistill -o still.jpg -t 10000 -w 640 -h 480
動画撮影
動画の撮影テストしてみます。
raspivid -o video.h264 -t 10000
動画を撮影して、-o オプションのファイル名で保存します。 撮影時間を -t オプションで指定します。
動画プレーヤー omxplayer
動画を確認するために、動画プレーヤー omxplayer をインストールします。
sudo apt-get install omxplayer
omxplayerプレーヤーで再生して確認します。全画面で表示されます。
omxplayer video.h264
動画プレーヤー smplayer
動画を確認するために、動画プレーヤー smplayer をインストールします。
sudo apt-get install smplayer
smplayerプレーヤーで再生して確認します。
「メニュー」→「サウンドとビデオ」→「SMPlayer」をクリックします。 SMPlayer が起動しますので、「開く」→「ファイル」で選択して再生します。
smplayerは、リモートデスクトップでログインしている場合は、Raspberry Pi側のスクリーンではなくリモートデスクトップを実行しているスクリーンで再生されます。リモート側から再生できるので便利ですが、ちょっと遅いのが残念です。
最後に
カメラの設定が完了して、静止画および動画の撮影ができることを確認しました。
既存コマンドを使用せずにPythonスクリプトを書いて、静止画カメラみたいなものを作りたいと考えています。