python3
OpenCV3
OpenCV-Python

Python 3.6 に OpenCV 3.4 など環境を構築する

ちまたであふれる Anaconda(や Miniconda) を使わずに、そのままの Python 3.6 上で環境を構築します。
PyPA推奨pip コマンド(Python付属) のみで環境構築をしたいからです。

TL;DR

pip コマンドで OpenCV の環境構築は簡単にできる。(pip install opencv-python)

環境

  • Windows 10 64-bit
  • Python 3.6.5 (現時点の最新)
  • OpenCV 3.4 (現時点の最新)

インストール手順

Python 3.6.5

https://www.python.org/downloads/windows/
Download Windows x86-64 executable installer からインストーラーをダウンロードします。
C:\Python36 にインストールします(インストール先はお好みで)

Windows の場合、py ランチャーもインストールできます。

$ py -3
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

OpenCV

非公式ではありますが、PyPIからインストール可能なパッケージ opencv-python が用意されています。

$ pip install opencv-python
Collecting opencv-python
  Downloading opencv_python-3.4.0.12-cp36-cp36m-win_amd64.whl (33.3MB)
    100% |████████████████████████████████| 33.4MB 39kB/s
Collecting numpy>=1.11.3 (from opencv-python)
  Downloading numpy-1.14.2-cp36-none-win_amd64.whl (13.4MB)
    100% |████████████████████████████████| 13.4MB 97kB/s
Installing collected packages: numpy, opencv-python
Successfully installed numpy-1.14.2 opencv-python-3.4.0.12

以上です。依存パッケージのnumpyも入ります。
また、Python から OpenCV を使う場合はOpenCV自体のインストールは不要です。
とても簡単ですね。

OpenCV contrib

拡張モジュール群である contrib を入れる場合は、下記パッケージです。
いくつかの国では商用利用が制限されている可能性があるため導入には注意が必要です(非自由/特許アルゴリズムが含まれているため)

$ pip install opencv-contrib-python

確認

さて本題のOpenCVがインストールされ動作するか簡単に確認をします。(ipythonのインストールは後述)
import cv2 にてインポートします。エラーが出なければOK。

$ ipython
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.3.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import cv2

In [2]: cv2.__version__
Out[2]: '3.4.0'

感想

問題なくインストールできました。

python2 時代は、OpenCV自体をインストールし展開されたcv2.pyd を C:\Python27\lib\site-packeges に突っ込む、という手順だった気がしますが、ずいぶん簡単になりました。

OpenCVドキュメンテーションに、opencv-pythonのチュートリアルがあることがわかりましたので試してみると良さそうです。
https://docs.opencv.org/3.4.1/d6/d00/tutorial_py_root.html

付録

そのほかいくつかのパッケージなど導入する手順です。

OpenCV サンプルコード [オプション]

サンプルコードを利用するため、OpenCV 自体をインストールする手順です。
もちろん、PythonからOpenCVを使いたいだけの場合は不要です。
https://opencv.org/releases.html から WinPack をダウンロードして
C:\OpenCV-3.4.0 とかに展開しておきます。

matplotlib [推奨]

OpenCVのチュートリアルでも matplotlib は使っているのでインストール推奨です。
pipですんなりとインストールできます。

$ pip install matplotlib

scipy [オプション]

scipy も pip で簡単にインストールできるようになりました。

$ pip install scipy

ipython [オプション]

ipython もよく使います。

$ pip install ipython pyreadline 

入りました。

ipython
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

jupyter [オプション]

jupyter も役立ちます。

あらかじめ pip コマンドを 最新版(現在 9.0.3) に更新します。

$ pip install -U pip
$ pip install jupyter

環境が整いました。

参考