要点
venv 環境にopencv をソースからビルドしてインストールする際には、インストール先の変数をカスタマイズしてからビルドして、インストールするようにということ。
やらかした失敗
venv 環境を使っているのにもかかわらず、CMAKE_INSTALL_PREFIXをデフォルトのままcmake、 make 、 sudo make install
してしまうと、 利用環境先の環境には、別の版のopencv のライブラリが残ってしまう。
手順
OpenCV のソースコードを入手する。
$ git clone https://github.com/opencv/opencv.git
$ mkdir build
$ cd build
$ cmake-gui .. &
ここで変数CMAKE_INSTALL_PREFIXの値をvenvでの利用環境に合わせる。/home/{your_name}/.venv
そうすると、その下にインストールされるようになる。
$ make -j4 ..
$ sudo make install
確認方法
import cv2
print(cv2.__file__)
print(cv2.__version__)
print(cv2.getBuildInformation())
補足
opencvを入れる前には, numpyが入っている必要がある。
また、環境によってはnumpyを入れる前にcython のインストールが必要になるかもしれない。
さらにはヘッダーファイルが必要になるかもしれない。
$ sudo apt-get install python3.6-dev