🫥
ラズパイのpython3でOpenCVを使うときにハマったこと
Raspberry pi 4 modelBでカメラモジュールを使って顔認証システムを作ろうとしてOpenCVを導入しようとしたら2つほどハマったので備忘録
参考:https://www.techlife-hacking.com/?p=2344
何があったのか
ラズパイにOpenCVをビルドしようとしたらばか重くて泣いちゃった
pip install opencv-python
Collecting opencv-contrib-python
Using cached opencv-contrib-python-4.8.0.76.tar.gz (151.2 MB)
Installing build dependencies ... ←動かねえ!!!!
解決策
ラズパイ向けのビルドパッケージがあるらしいのでそれを使うことにしました
git clone https://github.com/tech-life-hacking/opencv_python_wheels.git
cd ./opencv_python_wheels
pip install opencv_python-latest-cp39-cp39-linux_armv7l.whl
なんか違う問題が発生した
python3
>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.9/dist-packages/cv2/__init__.py", line 181, in <module>
bootstrap()
File "/usr/local/lib/python3.9/dist-packages/cv2/__init__.py", line 153, in bootstrap
native_module = importlib.import_module("cv2")
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: /usr/local/lib/python3.9/dist-packages/cv2/cv2.abi3.so: undefined symbol: __atomic_store
なんやねん
原因
パス設定がおかしいことによるらしい
sudo nano ~/.bashrc
最終行に下の一文を追加する
export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1
再読み込みする
source .bashrc
直った
おわり
Discussion