試行錯誤ダイアリー

新卒エンジニアが日々の技術的な学び,働き方,日々感じたこと等を書きます

【Windows10】PythonでのopenCV導入方法

画像認識をやりたくて,Windows10のPython(Anaconda)でopenCVを導入したときの方法と出たエラーと対策.

openCVでこんな事してみました.
【openCV】画像の色の判別・抽出 - 試行錯誤ダイアリー

環境

  • Windows10
  • Python3.6.1(Anaconda 4.4.0)

導入方法

まずopenCVをダウンロードしましょう
下記リンクから
自分のバージョンにあったファイルをダウンロード
https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

バージョンはコンソール上でpython -Vで確認下図の様なものがでてきます.

f:id:appli-in:20180212175703p:plain

ここでは,python 3.6.1で64bitなので
opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whlを選択.

cp◯◯がpythonのバージョン
win_◯◯がOSのbit数(64の場合はamd64)

次にAnaconda promptを開きます.windonwsメニューから実行できます(下図赤枠部)
f:id:appli-in:20180212172833p:plain

openCVのwhlファイルをダウンロードしたディレクトリに移動して
pip install opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl を実行

エラー

ImportError: No module named cv2

導入せずにimport cv2するとImportError: No module named cv2というエラーが出ます. 最初に何も考えずにAnacondaに入ってると思ってました. 原因:そんなもの入ってません(ダウンロードしましょう)

opencv_python-X.X.X-cpXX-cpXXm-win_amd64.whl is not a supported wheel on this platform

※Xは数字が入ります

原因:ダウンロードしたopenCVのバージョンが一致していない.
(python 3.6なのにopencv_python-3.4.0-cp37...をダウンロードしていたり)

python -Vでバージョンを確認して適切なバージョンのものをダウンロードする.

ImportError: numpy.core.multiarray failed to import

ダウンロード完了後にimport cv2したときのエラー

原因:numpyのバージョンが合ってません

Anaconda promptでpip install numpy --upgradeでバージョンを最新にすると解決