AnacondaにOpenCV2をインストールする

以前 OpenCV2 を導入するのに公式の方法ではうまくいかず、意外と右往左往してしまった話です。

スポンサーリンク

環境

Windows で Anaconda3 を使っていますが、仮想環境の Python2 系に合わせて OpenCV2 を導入します。

OpenCV3 は conda install でいけますが、OpenCV2 は opencv.org からダウンロードしなければなりません。

公式のインストール方法

  1. OpenCV for Windows でパッケージをダウンロードし、好きな位置で展開する
  2. Downloads\opencv\build\python\2.7\x64 (32bit の場合は x86) を開き、中の cv2.pyd をコピー (Download フォルダ内で展開したときの話)
  3. Anaconda3\Lib\site-packages の中に貼りつける (Anaconda のフォルダの場所は個人の環境によりけり)

これが、公式上の案内です。

読み込み時のエラー

しかし、これで実行するとエラーになります。

ImportError: No module named ‘cv2’

仮想環境ではパッケージが適用できていません。

また、仮想環境上でない場合は次のようなエラーが出ます。

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

これは Anaconda3 はデフォルトで Python3 系なので、OpenCV 2.4 が適用できないのかなと。

仮想環境上で利用する

Anaconda を利用した仮想環境では、(当然)仮想環境ごとにパッケージを導入したりしなかったり選べます。

ということは、仮想環境ごとに分けて保存しているはずで、Anaconda3\Lib\site-packages の中に適用したところで、各仮想環境上では利用できなくない?

ということに最初気づかなかったのですが…

先ほどと同様に手動でパッケージを導入するので、最初に仮想環境を用意します。

今回は、余計なパッケージは何も入っていない、まっさらな状態の環境でやってみます。

仮想環境の設定は Anaconda3\envs 内に保存されています。

仮想環境においてもディレクトリの構造は同じようなので、Anaconda3\envs\cv\Lib\site-packages の下に cv2.pyd をコピーすれば OK !

Numpyを忘れずに

これで OpenCV をインポートしようとすると、またエラーが出ます。

ImportError: numpy.core.multiarray failed to import

OpenCV は Numpy 必須です。

気を取り直して、仮想環境にパッケージを追加して、再び実行します。

これで万事解決!

スポンサーリンク

コメント・質問する