こんにちは
raspberrypi で usb webカメラから写真を取得するのにいろいろてこづったので備忘録を書きます。
raspberrypi 4です。
https://qiita.com/suo-takefumi/items/355479f46bf3957ffd8f
序盤は上記記事のように
lsusbコマンドでWebカメラをUSB接続したことを認識できるか確認して、
fswebcam image.jpg
コマンドで写真取得まではすんなりいきました。
次にsudo apt-getからopencvをインストールして、
cc = cv2.VideoCapture(0)
を実行するとエラー
WARN:0@16.618] global ./modules/videoio/src/cap_gstreamer.cpp (1405) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
こうなります。
どうやらopencvを依存関係を含めてインストールしないといけないようです。
ここまでは他のブログでも生じていたので、ビルドに必要な依存関係をインストールしようと以下のコードを入れると再度エラー。少し嫌になってきます。
動かなかったコード: sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
最終的にバージョンの変更などがあり、私の環境では以下のコードで依存関係をインストールできました。
sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb-dev libdc1394-dev
ERROR: No matching distribution found for opencv-contrib-python==4.9.0
※コメント投稿者のブログIDはブログ作成者のみに通知されます