Raspberry Pi 作品集
Raspberry Pi Camera v1.3
Bullseye - libcameraモード で使う
Raspberry Pi Camera v1.3
Bullseye - libcameraモード で使う
Raspberry Pi の「bullseye」には、オープンソースのカメラドライバ「libcamera」が標準でインストールされており、従来の「raspistill」や「Picamera」などが「libcamera-apps」に置き換わった。
「libcamera-apps」の新しいアプリケーション。
● 簡単なカメラコマンド:「libcamera-hello」
● 高解像度の静止画コマンド:「libcamera-jpeg」
● 高度な静止画コマンド:「libcamera-still」
← raspistill の代替コマンド
● 高度な動画コマンド:「libcamera-vid」
← raspivid の代替コマンド
● 高解像度の静止画コマンド:「libcamera-jpeg」
● 高度な静止画コマンド:「libcamera-still」
← raspistill の代替コマンド
● 高度な動画コマンド:「libcamera-vid」
← raspivid の代替コマンド
以下、最新OSの「bullseye」で、レガシーカメラの「OV5647」を使う方法をまとめた。
スポンサー リンク
目 次
1. 使用機器
Raspberry Pi。
Pi-1 Model B+
Camera。
Raspberry Pi Camera v1.3(2013年)Omnvision OV5647
カメラ スタックには「legacy」と「libcamera」モードがあり、
今回は、「Bullseye」で「libcameraモード」を使うことにした。
今回は、「Bullseye」で「libcameraモード」を使うことにした。
2. Raspberry Pi OS のセットアップ
「Raspberry Pi Imager」で OS を microSDカードに書き込む
Debian 11 (Bullseye)
3. 「Bullseye」でのカメラモジュールのセットアップ
「Bullseye」で、カメラ ソフトウェア スタックを「libcameraモード」にする設定。
「Bullseye」をインストールすると、raspi-configが「/boot/config.txt」にstart_x=1 を書き加えており、この記述によりデフォルトでは「legacyモード」になっている。(「/boot/config.txt」の56行目。)
①.raspi-configでLegacy Cameraをdisableに設定
「libcameraモード」にするには、raspi-configでLegacy Cameraを「disable」に設定する必要がある。
raspi-config で Legacy Cameraを「disabled」に変更すると、 /boot/config.txt に 「camera_auto_detect =1 」が追記される。(「/boot/config.txt」の56行目。)
②.raspi-configでAdvanced Options → Glamorをenableに設定
Glamorがdisableになっている場合は下記のエラーが表示される。
libEGL warning: DRI2: failed to authenticate
Made X/EGL preview window…
Made X/EGL preview window…
③.「/boot/config.txt」にカメラモジュールを指定する
「/boot/config.txt」を編集し、末尾に以下を追記。
dtoverlay=ov5647
「libcamera-hello --list-cameras」で、カメラモジュールを確認する。
4. libcamera コマンド
「libcamera」は、
複雑なカメラ システムを Linux オペレーティング システムから直接サポートすることを目的とした新しいソフトウェア ライブラリで、
「libcamera_dev」と「libcamera_apps」で構成されている。
複雑なカメラ システムを Linux オペレーティング システムから直接サポートすることを目的とした新しいソフトウェア ライブラリで、
「libcamera_dev」と「libcamera_apps」で構成されている。
「libcamera-apps」にはいくつかの新しいアプリケーションが含まれる。
libcamera-hello
libcamera-hello
カメラが正しく機能しているかを確認するコマンドで、プレビューが5秒間表示される。
libcamera-hello -t 0
オプションを使用して無限時間プレビューを表示。
終了は、プレビューの✖か、ターミナルで「Ctrl+Cを入力する。
無期限でプレビューを表示することで、レンズの絞」りと焦点を微調整することができる。
libcamera-jpeg
libcamera-jpeg -o ~/work/test_01.jpg
フル解像度のJPEG画像がキャプチャできる。
デフォルトでは、5秒間のプレビューが表示された後、フル解像度( ov5647 = 2592 x 1944)の画像が「test_01.jpg」というファイル名で保存される。
デフォルトでは、5秒間のプレビューが表示された後、フル解像度( ov5647 = 2592 x 1944)の画像が「test_01.jpg」というファイル名で保存される。
libcamera-jpeg -o ~/work/test_02.jpg -t 2000 --width 640 --height 480
オプションで「時間」と「解像度」を指定する。
この例は、プレビューの表示時間が2000ms=2秒、解像度が640×480、JPEGのファイル名「test_02.jpg」が保存される。
-t:プレビューの表示時間 [ms]
–width:横の解像度
–height:縦の解像度
–width:横の解像度
–height:縦の解像度
libcamera-still
以前のラズパイでのカメラコマンド「raspistill」の互換コマンド。
libcamera-still -o ~/work/test_03.jpg
ほとんどのオプションが類似している。
libcamera-still -e png -o ~/work/test_04.png
-eオプションで保存形式(png, bmp, rgb,yuv420)を変更できる。
libcamera-still -t 30000 --timelapse 3000 -o ~/work/image_%04d.jpg
タイムラプスで撮影するコマンドの例。
-t 30000:ータルの撮影時間 [ms] 30000ms = 30s
–timelapse:3000 撮影間隔 [ms] 3000ms = 3s
-o image%04d.jpg:連番でファイルを出力 (image0000.jpg image0001.jpg ・・・)
–timelapse:3000 撮影間隔 [ms] 3000ms = 3s
-o image%04d.jpg:連番でファイルを出力 (image0000.jpg image0001.jpg ・・・)
libcamera-vid
「libcamera-vid」は以前のラズパイで標準的なカメラコマンド「raspivid」の互換コマンド。
libcamera-vid -t 10000 -o ~/work/test_05.h264
10秒間の動画を撮影し、「test_05.h264」として保存するコマンド。
オプションで「h264、mjpeg、yuv420」のファイル形式を選択できる。
オプションで「h264、mjpeg、yuv420」のファイル形式を選択できる。
5. ストリーミング配信(VLCを使用)
「libcamera-vid」で、動画をストリーミング配信することもできる。
ラズパイで次のコマンドを実行する。
libcamera-vid -t 0 --inline --listen -o tcp://0.0.0.0:8080
URLを次のように入力し、「再生」をクリックしする。
tcp/h264://192.168.11.113:8080
nオプション(プレビュー無し)をつければ、SSH越しでも写真や動画が撮れる。
libcamera-vid -t 0 -n --inline --listen -o tcp://0.0.0.0:8080
以上。
(2024.01.05)
(2024.01.05)
スポンサー リンク