OpenCV3をPython3.Xに導入する時に苦戦した話(Jupyter notebook)
はじめに
2017年2月よりUdacityのArtificial IntelligenceのNanodegree(AIND)生として勉強していました。しかし,研究生活に多忙を極めていたせいでAINDで出る課題が行き詰ってしまい,サポーターに相談した所,5月生に移行することになりました。
AINDでは,最近話題のDeep系も勉強していくことになります。必然的にプログラミングと魔術式みたいな数式と戦っていくことになるので,苦手なプログラムに今のうちから慣れていかなければなりません…そんな理由で,手ごろにはじめられる趣味的なものは無いかと探していたところ,画像処理がいいのではないかという結論に達しました。で、それを本格的にはじめようとして、タイトルに行きつくのですが,まぁ,なんと,環境構築の段階で躓いてしまいましたね。
開発環境(Anaconda prompt)
Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v. 1900 64 bit (AMD64)] on win32 + Jupyter notebook
OpenCV系は、以前趣味で作っていた非接触脈計測プログラムの時にインストールしていたのですが,なんやかんやありuninstallしていました。せっかくなので,DeepLearningモジュールなどが追加されたOpenCV3系を使っていきます。
成功例(2017/07/08現在)
結論から書いていきますと,cmdやAnaconda promptでconda installする方法はうまくいきませんでした。なので邪道ですが,以下の手順を踏んで強制的にinstallを進めて行きます。
1.Anaconda3 -> Anaconda promptを開き,Python3.5.X系の仮想環境を構築[1]。
>> conda create -n [名前] python=3.5 -c conda-forge
2.Unofficial Windows Binaries for Python Extension Packagesのサイトから開発環境に合うOpenCVをダウンロードする[2]。
Unofficialとありますが,以下の通り,別に怪しくは有りません。
The files are unofficial (meaning: informal, unrecognized, personal, unsupported, no warranty, no liability, provided “as is”) and made available for testing and evaluation purposes.(by Christoph Gohlke, Laboratory for Fluorescence Dynamics, University of California, Irvine.)
注意点として,Anaconda3でPython環境を構築した方は,仮想環境のPythonバージョンではなく,
>> python -V Python 3.6.0 :: Anaconda custom (64-bit)
で,出力されるバージョンにあったOpenCVを選択してください。本記事の開発環境で言えば,"opencv_python-3.2.0+contrib-cp36-cp36m-win_amd64.whl"になります。これを\Anaconda3\Scripts内にダウンロードするようにしてください。
3.Cmd or Anaconda promptで,Anaconda3\Scriptsに移動してpipによるインストールを行う[3]。
>> cd path\Anaconda3\Scripts >> pip install opencv_python-3.2.0+contrib-cp36-cp36m-win_amd64.whl Installing collected packages: opencv-python Found existing installation: opencv-python 3.2.0.7 Uninstalling opencv-python-3.2.0.7: Successfully uninstalled opencv-python-3.2.0.7 Successfully installed opencv-python-3.2.0+contrib
4.仮想環境をActivateして,jupyter notebookで動作確認を行う。
>> Activate [名前] >> ([名前]) C:\..\Anaconda3>jupyter notebook
import cv2 as cv print(cv.__version__) >> 3.2.0
↓ p.s. ぜんぜん追従できていない!!!(そりゃそうだ)。いろいろと解決法策考えますかね。。