ラズパイ専用カメラの接続・設定、写真の取り方について説明します。また、連写撮影や動作撮影、GIFアニメーションの作り方についてもサンプルを示して解説します。
動作確認環境
- Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品
- Raspberry Pi Camera Module V2 カメラモジュール
- Raspbian Buster with desktop and recommended software (2020-02-13)
Raspberry Pi カメラの接続と設定
Raspberry Pi では、Raspberry Pi 用に開発されたカメラが販売されています(下記写真参照)。このカメラは、CSI(カメラシリアルインターフェース) コネクタを使用しています。あまり聞いたことがないコネクタだと思いますが、携帯電話などのモバイル機器では一般的だそうです。Raspberry PiはBroadcomチップを使用しているため、携帯電話などと同様にCSIを採用しています。
カメラを接続するときは、必ず電源をOFFにしてください。
- Raspberry PiのCSIコネクタの位置は下記のとおりです。カメラモジュールを接続するときは、このコネクタの黒い部分を上に引き上げます。
- カメラモジュールのケーブルを、引き上げて隙間が空いた部分に差し込みます。差し込む向きは、ケーブルの金属メッキ側とボードの金属端子が接触する向きにしてください。
- 最後に、引き上げたコネクタの黒い部分を押し戻します。しっかりと挿しておかないと、電源が入った状態で抜けてしまいます。すると、カメラやボードの故障に繋がりますので、中止してください。
カメラの接続が終わったら、電源を入れてみましょう。そして、Raspberry Piの設定のインターフェースタブで、CameraをEnableにします。そして、Raspberry Piを先どうしてください。これで、カメラの接続・設定は完了です。
写真を撮る
カメラが正常に動くかどうかテストしてみましょう。ターミナルを開いて、以下のコマンドを実行します。
$ raspistill -o test.jpg
もし、下記のようなメッセージが表示された場合は、コネクタが正しく接続できていません。コネクタの黒い部分を最後まで押し込んだか確認してください。
正しく撮影できた場合は、画像は現在のディレクトリに保存されている思いますので、確認してみてください。raspistillにはオプション機能が色々ありますので、試してみてください。どんなオプションが有るか確認したい場合は、「$ raspistill 2>&1 | less」を実行してください。
機能 | 例 |
左右反転 | $ raspistill -hf test.jpg |
上下反転 | $ raspistill -vf -o test.jpg |
サイズ指定 | $ raspistill -w 128 -h 96 -o test.jpg |
Wait時間指定 (1000ms後に撮影) | $ raspistill -t 1000 -o test.jpg |
連続撮影 (3000ms間に1000ms間隔で撮影) | $ raspistill -t 3000 -tl 1000 -o test%02d.jpg |
エンコード指定 (jpg, bmp, gif, png) | $ raspistill -e gif -o test.gif |
GIFアニメーションを作る
先程のraspistillの連続撮影機能を使って、GIFアニメーションを作ることができます。連続撮影した画像を、ImageMagickというソフトで変換処理を行います。
- ImageMagickのインストール
$sudo apt-get update
$sudo apt-get install imagemagick - raspistillで連続撮影をする。例えば、9秒間かけて解像度640×480の画像を1秒毎に撮影して、それぞれのファイルを連番で保存します。
$ raspistill -t 9000 -tl 1000 -o image%02d.jpg -w 640 -h 480 - 撮影した画像をImageMagickでGIFに変換します。
$ convert -delay 15 *.jpg test.gif
試しに、魚のGIFアニメーションを作成しました。動きが遅かったので、餌をあげたのですが、今度はスピードが早すぎてシャッタースピードが間に合ってませんね。。お試しなので良しとしましょう。
動画を撮る
動画は、以下のコマンドで撮ることができます。5000は、5000ms間撮影することを意味しています。
$ raspivid -t 5000 -o test.h264
raspividも多くのオプションがあります。よく使用するものは下記のとおりです。どんなオプションが有るか確認したい場合は、「$ raspivid 2>&1 | less」を実行してください。
機能 | 例 |
撮影解像度 (w:横、h:縦) | $ raspivid -o test.h264 -t 10000 -w 640 -h 480 |
ビットレート(Bits/s) | $ raspivid -o test.h264 -t 10000 -b 10000000 |
左右反転 | $ raspivid -o test.h264 -hf |
上下反転 | $ raspivid -o test.h264 -vf |
フレームレート | $ raspivid -o test.h264 -fps 30 |
最後に
今回はラズパイカメラの基本的な使い方を説明しましたが、これだけだと単なるデジカメです。自分でプログラムを組んで、カメラを制御することに、ラズパイの面白さがあります。例えば、カメラで顔認識をして、メガネや帽子の画像を重ね合わせたり、ラジコンに搭載して機械学習で自動走行させたりすることができます。もう少し簡単なものだと、定期的に写真を撮るようにプログラムして、植物の成長をアニメーション化するのも面白いと思います。
コメントを残す