pythonでOpenCVを使うときにエラーでハマったので解決策を書いておく

  • URLをコピーしました!

今回は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を扱った際に出るエラーには対応できるかと思います。
まだまだマニアックなエラーがありましたら、報告下さい。

ばいちゃ。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次