Ubuntu+pyenv-virtualenv下のpython3にOpenCVの最新版をインストールした話

今回は

pyenv virtualenv 3.5.3 opencv

で作成した仮想環境にインストールする.

仮想環境にnumpyをインストール

pyenv activate opencv
pip install numpy

Releases - OpenCV library あたりからソースをダウンロード.

依存ライブラリは Documentation -> Introduction to OpenCV -> Installation in Linux に書いてある.


適当にビルドディレクトリを作成

cd /path/to/opencv-source
mkdir build
cd build

以下のスクリプトでcmakeを実行する.

ROOT=~/.pyenv/versions/3.5.3
VENV_ROOT=$ROOT/envs/opencv

cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=$VENV_ROOT \
-D INSTALL_C_EXAMPLES=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_legacy=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D PYTHON3_EXECUTABLE=$ROOT/bin/python \
-D PYTHON_LIBRARY=$ROOT/lib/libpython3.5m.a \
-D PYTHON_INCLUDE_DIR=$ROOT/include/python3.5m \
-D PYTHON_INCLUDE_DIRS=$ROOT/include/python3.5m \
-D PYTHON_INCLUDE_DIRS2=$ROOT/include/python3.5m \
-D INCLUDE_DIRS=$ROOT/include/python3.5m \
-D INCLUDE_DIRS2=$ROOT/include/python3.5m \
-D PYTHON3_PACKAGES_PATH=$VENV_ROOT/lib/python3.5/site-packages \
-D PYTHON3_NUMPY_INCLUDE_DIRS=$VENV_ROOT/lib/python3.5/site-packages/numpy/core/include \
..

参考

Install opencv3 for python 3.5.0 with pyenv on ubuntu 14.04 · GitHub