cnysntry
@cnysntry

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Raspberry Piカメラモジュールのカメラ映像が取得できない

解決したいこと

OpenCVを使ってRaspberry Piカメラモジュールのカメラの映像をキャプチャしたいのですが、うまく動作しません。
解決方法をご存じの方がいらっしゃいましたら、教えていただきたいです。

Raspberry Pi 4のOS情報です。

cnysntry@cnysntry:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm

発生している問題・エラー

0815_videocapture_err.png
上記のように cv2.imshow() でエラーになってしまいます。
width/heightが取得できていないのでしょうか?

該当するソースコード

import cv2
vc = cv2.VideoCapture(0)
ret,img = vc.read()
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

カメラを指定して、その映像を取得しようとしているだけなんですが、うまくいきません。

自分で試したこと

カメラからではなく、ファイルから映像を取得する場合はうまくいきます。
上記ソースコードの2行目を以下のようにファイル指定に変更すると問題なく動作します。

vc = cv2.VideoCapture("testsample.mp4")

以下のコマンドを試してみると、そもそもカメラが検出されていないようですね。
でもlibcameraは動くのが不思議。。

cnysntry@cnysntry:~ $ vcgencmd get_camera
supported=0 detected=0, libcamera interfaces=0
0

2Answer

cnysntry@cnysntry:~ $ vcgencmd get_camera
supported=0 detected=0, libcamera interfaces=0

↑これ、カメラを認識していないと思います。
以下のコマンドを実行してもERROR: *** no cameras available ***と出ませんか?

$ libcamera-hello

使用したカメラモジュールのバージョンはいくつでしょうか?


でもlibcameraは動くのが不思議。。

libcameraは動くとはなんでしょうか? コマンド全体を教えてください。

1Like

Comments

  1. もし、レガシーカメラを使用してる場合は、bookwormでは動かないようです。

    USBカメラであればbookwormでも動くはずです。

  2. @cnysntry

    Questioner

    コメントありがとうございます。

    使用したカメラモジュールのバージョンはいくつでしょうか?

    Raspberry Piの専用カメラモジュールで、Rev1.3です。

    libcameraは動くとはなんでしょうか? コマンド全体を教えてください。

    $ libcamera-still -o test.jpg
    $ libcamera-vid -o test.h264
    

    上記のようなコマンドだとカメラは動作します。

    もし、レガシーカメラを使用してる場合は、bookwormでは動かないようです。

    Raspberry Pi専用のカメラなのにOSが変わると動かないんですね。。。
    USBカメラの購入を検討しようと思います。

  3. $ libcamera-still -o test.jpg
    $ libcamera-vid -o test.h264
    上記のようなコマンドだとカメラは動作します。

    以下のコマンドを実行してもERROR: *** no cameras available ***と出ませんか?
    $ libcamera-hello

    *** no cameras available ***は出ないと言うことですね。
    でしたら、OpenCVでも使えそうな気きがします・・・

bookwormでいろいろと試してみたのですが、OpenCVではRaspberryPi専用のカメラは検出できませんでした。
bullseyeとbookwormのraspi-configの設定画面を見比べてみると、bookwormにはLegacy Cameraの設定がなくなっているようです。サポートしなくなったのかな。。。
0816_raspiconfig_bullseye.png
0816_raspiconfig_bookworm.png

bullseyeでOpenCVでカメラを検出するか試したところ、以下の通り、検出できました。
0816_scrot.png

いろいろとサポートありがとうございました。

0Like

Your answer might help someone💌