今回はOpenCVのお話。
写真撮ったり、動画撮ったり画像処理、解析したりするときに使う有名なライブラリ。
OpenCVをpythonで使う際に
import cv2
でimportした際に出てきたエラーとその解決策をまとめておく。参考にどうぞ。
目次
ModuleNotFoundError
ModuleNotFoundError: No module named 'cv2'
これはもう有名なエラー。
python触ったことがある人は必ずこのエラーに直面したことはあるはず。
はいはい。このエラーね。3秒で対処法は思いつくはず。
pipで対応するモジュールをインストールするだけでOK(初心者の方は覚えておいて)
pip3 install opencv-python
ImportError: libjasper.so.1
ImportError: libjasper.so.1: cannot open shared object file: No such file or directory
pipでインストールは行ったが、それでもエラーが出てきた。
そもそもOpenCVを使う際に必要な関連するライブラリが足りないとか、そんなことだろう。
apt-get
でインストールしてやればいい。
sudo apt-get install libjasper-dev
ImportError: libQtGui.so.4
ImportError: libQtGui.so.4: cannot open shared object file: No such file or directory
まだ、OpenCVを使う際に必要な関連するライブラリが足りないらしい。
この場合もまた、apt-get
でインストールしてやればいい。
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig libqt4-test
ImportError: libcblas.so.3
ImportError: libcblas.so.3: cannot open shared object file: No such file or directory
まだまだ、OpenCVを使う際に必要な関連するライブラリが足りないらしい。
これいつまで続くの..。永遠とapt-get
地獄か?割とライブラリインストールに時間かかるし...。
この場合もまたまた、apt-get
でインストールしてやればいい。
sudo apt-get install libatlas-base-dev
ImportError: undefined symbol: __atomic_fetch_add_8
ImportError: /lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8
apt-get
系のエラーではなさそう。ようやくapt-get地獄は抜けたようだ。
今回のエラーはどうやらパスが上手く噛み合ってない際に出るエラーのようだ。
環境変数としてパスを設定してあげます。.bashrc
に記述を行います。
$ vi .bashrc
export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 #この一文を追加
記述が終わったら、再読み込みさせ反映を行います。
source .bashrc
これで、一通りpythonでOpenCVを扱った際に出るエラーには対応できるかと思います。
まだまだマニアックなエラーがありましたら、報告下さい。
ばいちゃ。
コメント