今回はRaspberry PIのカメラコマンドを使ってみます。Raspberry PIのカメラコマンドはRaspberry PI 3の頃と現在では大きく変更されています。
撮影したデータはRaspberry PIのホームディレクトリにあるPicturesディレクトリに保存します。カレントディレクトリはこのPicturesディレクトリとします。コマンドならcd ~/Picturesです。これまでとは保存先/カレントディレクトリが違うので注意してください。
○カメラの取り付け
Raspberry PIに取り付けるカメラは対応しているものを選択した方がよいでしょう。慣れてきたら他のカメラ(USBカメラなど)を取り付けてみてください。なお、USBカメラについては別の機会に説明します。
Raspberry PI Documentaiton
https://www.raspberrypi.com/documentation/computers/camera_software.html
ここではIMX219のカメラを取り付けています。Raspberry PIだとカメラ接続するコネクタが2つあります。どちらに接続しても問題ありません。
スイッチサイエンス
https://www.switch-science.com/products/9441
https://www.switch-science.com/products/9442
カメラを取り付けたらRaspberry PIを起動します。カメラが接続されているかどうかは以下のコマンドで確認できます。
rpicam-hello --list-cameras
もしカメラの一覧が出てこない場合は端子にまっすぐにケーブルが差し込まれているか確認してください。特にRaspberry PI 5では接続する端子が狭くなっています。もし、接続に問題がないのにカメラ一覧に出てこない場合は、もう1つあるカメラ端子の方に差し込んでみてください。それでも駄目な場合はカメラが壊れている可能性もあります。予算的に問題ないのであれば、新たに対応しているカメラを購入してください。
認識しない場合は以下のようにコマンドを入力して設定ファイルを変更します。
sudo vi /boot/firmware/config.txt
以下のように変更・追加します。imx219が接続するカメラ名になります。cam0で駄目な場合はcam1にしてみてください。
camera_auto_detect=0
dtoverlay=imx219,cam0
設定が終わったらRaspberry PIを再起動します。
また以下のコマンドを入力すると実際のカメラからの画像が表示されます。
rpicam-hello
○静止画を撮影
カメラが接続されているのを確認したら実際に撮影してみます。静止画を撮影するコマンドは以下のものがあります。
rpicam-still
rpicam-jpeg
rpicam-raw
rpicam-rawコマンドはカメラからの生データを取得します。詳細な画像解析/処理をしないのであれば使う必要はないでしょう。
rpicam-jpegは撮影した画像をJPEG形式で保存します。単純に撮影したデータをJPEG形式で保存するだけで十分なら、このコマンドで用に足りるでしょう。
rpicam-stillは包括的なコマンドとも言えます。細かな撮影設定が可能です。多くの場合、rpicam-stillコマンドを使えば問題ないでしょう。
それではrpicam-stillコマンドを使って静止画を撮影してみます。rpicam-stillコマンドは最低限書き出すファイル名を指定する必要があります。
rpicam-still -o 1.jpg
コマンドを実行すると標準出力に大量の文字が出力されてしまいます。とりあえず以下のようにして消してしまいましょう。
rpicam-still -o image.jpg > /dev/null 2>&1
撮影された画像を見ると上下が180度回転してしまっています。画像処理ソフトなどで後から180度回転する方法もありますが、以下のようにrotationオプションを指定すれば180度回転した状態になります。
rpicam-still -o 1.jpg --rotation 180 > /dev/null 2>&1
ここまでコマンドを入力しましたが、撮影終了まで若干遅いのが気になる人がいるかもしれません。このような場合は以下のようにimmediateオプションを指定すれば即時撮影が行われます。
rpicam-still -o 1.jpg --rotation 180 --immediate > /dev/null 2>&1
撮影する横幅や縦幅を指定することもできます。横幅はwidth、縦幅はheightで指定します。なお、ここでの幅は最大解像度で撮影した画像を縮小した幅ではありません。全体の中から指定した幅で切り抜いた幅になります。
rpicam-still -o 1.jpg --width 320 --height 240 --rotation 180 > /dev/null 2>&1
○ホワイトバランスの指定
撮影時、屋外と室内で色味が変わってしまうことがあります。これはホワイトバランスが調整されていないことが原因です。ホワイトバランスを指定するにはawbオプションを使います。--awbの後に以下の単語を指定することができます。通常はautoを指定したのと同じことになります。
それぞれのホワイトバランスを指定すると以下のようになります。
rpicam-still -o 1.jpg --rotation 180 --awb auto > /dev/null 2>&1
rpicam-still -o 2.jpg --rotation 180 --awb indoor > /dev/null 2>&1
rpicam-still -o 3.jpg --rotation 180 --awb daylight > /dev/null 2>&1
rpicam-still -o 4.jpg --rotation 180 --awb cloudy > /dev/null 2>&1
.











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)