動作環境
【環境】
・HW: RasberryPi 4
・OS: 2021-10-30-raspios-bullseye-armhf-full イメージ
・Python バージョン 3.9.2
ls /dev/video0
でカメラが認識されているのを確認しておいてください。
コマンド実行してみる
sudo apt-get install python-opencv
・・・Unable ですね。(この時はコマンドが違う事に気が付かず)
いろいろ先生で調べてみる
・ビルドしてみたーーー>どうもpythonとの紐づけができない模様。
・急ぎだったので、今一度opencv-pythonについて調べた
→piwheels のサイトでダウンロードするといいらしい。
●piwheels でopencv-pythonの適用可能なものを見つける
一覧をみると対応するpythonのバージョンが書かれていますが、
必ずしも動作しない事がある様です。
・私は結局4.5.36のpython3.9版を選びました。
-どうも3.9でもどちらのHow to install this versionを選んでも見た目同じっぽいですが、
Installのウインドウを見ます。
sudo apt install libaom0 libatk-bridge2.0-0 libatk1.0-0 libatlas3-base libatspi2.0-0 libavcodec58 libavformat58 libavutil56 libbluray2 libcairo-gobject2 libcairo2 libchromaprint1 libcodec2-0.9 libdatrie1 libdav1d4 libdrm2 libepoxy0 libgdk-pixbuf-2.0-0 libgfortran5 libgme0 libgraphite2-3 libgsm1 libgtk-3-0 libharfbuzz0b libilmbase25 libmp3lame0 libmpg123-0 libnorm1 libogg0 libopenexr25 libopenjp2-7 libopenmpt0 libopus0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpgm-5.3-0 libpixman-1-0 librabbitmq4 librsvg2-2 libshine3 libsnappy1v5 libsodium23 libsoxr0 libspeex1 libsrt1.4-gnutls libssh-gcrypt-4 libswresample3 libswscale5 libthai0 libtheora0 libtwolame0 libudfread0 libva-drm2 libva-x11-2 libva2 libvdpau1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx6 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebpmux3 libx264-160 libx265-192 libxcb-render0 libxcb-shm0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxrandr2 libxrender1 libxvidcore4 libzmq5 libzvbi0 ocl-icd-libopencl1
sudo pip3 install opencv-python==4.5.3.56
他のバージョンでは表示が微妙に変わるので、その辺りは実際のサイトで確認してください。
動作確認
python3
(略)
>>import cv2
ImportError:numpy.core.multiarray failed to import
エラーが出ない方もいるかもしれませんが、私の環境ではエラーが出ました。
ここを力業?で既存numpy1.19.5を上書き
pip3 install -U numpy
すると要件は満たしているけど、1.22.0をインストールするよみたいな表示が出て、インストールしました。
### 細かいエラーの修正等
当方の環境では import cv2をあらためて実行したところ、PATHが通ってないと怒られたので、
下記の通り、.bashrc を編集しました。
# 最後の行に以下のパスを追加
PATH="$PATH":/home/pi/.local/bin
##無事動作
今度は無事に動作しました。
$ python
Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.5.3'
>>>