にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

Windows Anaconda Python 3.5 への OpenCV 3.1 のインストール

Windows 7 上の Python 3.5 へ OpenCV 3.1.0 をインストールした。
Python 3.5 は Anaconda の64bit版により導入した。

OpenCV をインストールするためには NumPy や matplotlib が必要らしく、これらは Anaconda に入っているので楽である。

OpenCV のインストール

スタートメニューから Anaconda3 → Anaconda Prompt を起動し、

conda install -c https://conda.binstar.org/menpo opencv3

と入力。 Anaconda のパッケージマネージャ conda を使ってインストールする。途中で“Proceed?”とか聞かれたので y を入力しエンターキーを押す。

しばらく待つと OpenCV 3.1.0 がインストールされた。

(2018-08-02追記)
menpoのパッケージは古くなっているようだ。代わりに

conda install opencv

で入るっぽい。ただ少しバージョンが古いので、新しいのが使いたければconda-forgeチャンネルから入れるといいっぽい。

conda install -c conda-forge opencv 

(追記終)

何をやってるのか? (2016-10-24追記)

‘-c’オプションは、チャンネルを指定するためのもので、非標準のところからインストールするときのためのもののようである。
Anaconda.orgからanacoda用のパッケージを検索することができるようで、

anaconda search -t conda opencv

などとコマンドを実行すると指定したパッケージ名(ここではopencv)のパッケージの一覧が表示される。
そこで、さらに詳細を得るには、USER/PACKAGEを次のように指定して、

anaconda show menpo/opencv3

など実行する。それで表示される中に

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/menpo opencv3

とある。‘-c’と‘--channel’は同じことを指すので、これが上でインストール時に使ったコマンドという訳…あれ、ドメインちょっと違うか。どちらも同じサイト(Anaconda Cloud)につながるので同じと見て良さそうだが。

また、恐らく

conda install -c menpo opencv3

でいけるはず。こっちの方がシンプルか。
(追記終)

Anacondaやcondaコマンドを使わない場合(20180314追記)

ついでに、OpenCVPython bindingsは

pip install opencv-contrib-python

でも入れられるっぽい(contribが必要ない場合は代わりにopencv-pythonを入れる)。wheel万歳。

(追記終)

Cygwin から使えるようにする

Cygwin から使いたいので、
~/.bashrc
を編集し、

alias pythonwin="/cygdrive/c/Anaconda3/python.exe -u"

などと最後に追記し保存するといいらしい。


……のだが、 pythonwin とだけ入力した場合にインタラクティブモードで起動してくれない。なので、代わりに次のような内容を ~/.bashrc に書き加えた。

pythonwin() {
    if [ -n "$1" ]; then
        /cygdrive/c/Anaconda3/python.exe -u $@
    else
        /cygdrive/c/Anaconda3/python.exe -u -i
    fi
}

Cygwin を再起動すると、 “pythonwin” でインタラクティブモードの python が、 “pythonwin 引数” でインタラクティブモードでない python が起動する様になるはず。

…とはやったものの、 Ctrl-d で EOF 等入力できないらしく、やや不便。
How to exit Windows Python in Cygwin - Super User
どうやら

cygstart python.exe

として起動した方がよさそうかも?

使う際に参考になりそうなサイト

Python3+OpenCV3に関するまとめ