まえおき
ラズパイ4などBullseyeまではraspi-config等でカメラを有効にすることで
v4l2経由で専用カメラ(MIPI CSI)を使うことができていました。
ところがBookwormからカメラの設定項目が消えました。BusterまではOS側でカメラの
ドライバを管理してたのが順次libcamera(およびrpicam)へ移管する様です。
参考:えいあーるれいの技術日記様
Raspi-Bullseyeでpicameraを検出するプログラムを作成するさて、ラズパイ5でもOpenCV(C++)で画像処理を行いたいのですがラズパイ5は
Bookworm以降を使うので旧手段ではカメラを読み出せません。
PythonであればPicamera2で読み出せますがC++には対応していない様です。
そこで、libcameraを使ってOpenCV(C++)から専用カメラを読み出す環境を設定します。
libcameraのv4l2互換機能を使うとメインプログラムをそのまま使えるっぽいのですが、
未だ使い方を理解していないのでまずはlibcameraを直接使用する方法を試してみます。
※C++向けにOpenCVの環境が設定でき、
C++でビルドできたものとします。
※2025/06/20 カメラモジュール V3(IMX708)に関して追記
※2025/07/01 OV5647を読み出せないことがあったので修正
※2025/07/10 v4l2-compat.soの使い方を追記