今回は、Pythonでちょいと画像系を触ってみたいと思い、pyenvを用いてOpenCV環境を構築してみました。
その時の備忘録って感じです。
環境
- Mac OS X 10.10
- pyenv 20141211-4-g97b957d
- Python 2.7.9 :: Anaconda 2.1.0 (x86_64)
(Python3系で構築したかったのですが、残念ながらpyenv+python3.X+opencvみたいな構成はできませんでした…。)
インストール
pyenvはインストールされている前提で話を進めていきます。
まずは、pyenvからanacondaを導入します。
# インストールできるパッケージを確認 pyenv install -l # とりあえず、一番新しそうなやつをインストール pyenv install anaconda3-2.1.0 # この作業がちょっと時間がかかりましたが、気長に待ちましょう…。
インストールが終了したら、anacondaに環境を切り替えます。
pyenv shell anaconda3-2.1.0 # ( pyenv-pip-rehashをインストールしていない場合は、pyenv rehashを実行) pyenv versions -- >system --> 3.4.1 --> * anaconda3-2.1.0 (set by PYENV_VERSION environment variable) --> miniconda-3.7.0 --> miniconda3-3.7.0
これで、環境が切り替わりました。
さて、opencvをインストールしましょう!
conda install -c https://conda.binstar.org/jjhelmus opencv --> Fetching package metadata: ... --> Solving package specifications: .. --> Error: Unsatisfiable package specifications. --> Generating hint: --> [ COMPLETE ] |##################################################################################################################################################################################################################################################| 100% --> --> --> Hint: the following combinations of packages create a conflict with the --> remaining packages: --> - python 3.4* --> - opencv
ん!?入らないぞ。。。
どうやら自分の調べた限りでは、pyenvでpython3.X+opencvの環境を構築するのはできないみたいです…
pyenvを使わないでなら導入できるらしいんですけど、あまりこだわる気は無いので…。
仕方なくpython3を諦めて、python2.Xでopencv環境を構築することにしました…。
改めて、インストール
まずは、pyenvを用いてanaconda-2.1.0をインストール
# インストールできるパッケージを確認 pyenv install -l # とりあえず、一番新しそうなやつをインストール pyenv install anaconda-2.1.0 # 気長に…気長に待ちましょう…。
インストールが終了したら、anacondaに環境を切り替えます。
pyenv shell anaconda3-2.1.0 # ( pyenv-pip-rehashをインストールしていない場合は、pyenv rehashを実行) pyenv versions --> system --> 3.4.1 --> * anaconda-2.1.0 (set by PYENV_VERSION environment variable) --> miniconda-3.7.0 --> miniconda3-3.7.0
これで、環境が切り替わりました。
今度こそ、opencvのインストール!
conda install -c https://conda.binstar.org/jjhelmus opencv
どうやら、今回は無事にインストールが完了したようです。
やっと、openCV環境が構築できました。ε=( ̄。 ̄;)フゥ
動作テスト
OpenCVを用いた簡単なプログラムを動かしてみます。簡単な画像を読み込んで表示するというものです。
import cv2 import sys argvs = sys.argv if (len(argvs) != 2): print 'Usage: $ python %s filename' % argvs[0] quit() imagefilename = argvs[1] try: img = cv2.imread(imagefilename, 1) except: print 'faild to load %s' % imagefilename quit() # view image windowName = 'LoadImage' cv2.imshow( windowName, img) print 'press any key to exit.' cv2.waitKey(0)
ソースはコチラのサイトを参考にさせていただきました。
コチラのソースコードを実行してみると…
# python プログラム名 読み込むファイル名 python sample.py Lenna.jpg
画像は、画像処理で有名なLennaさんです。 (Lenna | Wikipedia より)
これにて、無事にPython で OpenCV環境を構築することができました♪
できればPython3.Xで実行できたら良かったな〜思います。これから、いろいろとPython+OpenCVで記事を書いていきたいと思います♪
参考記事
Pingback: Pythonで遊んでみる -part2- (NFCを使ってみる) | たくのこ Web