virtualenv環境にOpenCVをセットアップ

OpenCVをapt-getなどでインストールした場合Verが古かったりする。
一方自前でビルドしてグローバルなディレクトリにインストールすると環境が混ざってしまって不整合が起きたりする。

python環境をセットアップしたvirtualenvについでにOpenCVをセットアップする方法。
activate実行でOpenCVも切り替えできるので便利かも。

以下ではpython3と、OpenCV3.2.0を使用するものとする。

以下でvirtualenvをセットアップしその環境に入る。

virtualenv ~/myenv_python3 --python=/usr/bin/python3.5
source /home/natsushi/myenv_python3/bin/activate

OpenCVのコードのzipを取得し以下実行。

unzip 3.2.0.zip
cd opencv-3.2.0
mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=$VIRTUAL_ENV/usr/local -D PYTHON3_EXECUTABLE=$VIRTUAL_ENV/bin/python -D BUILD_opencv_python3=ON ..
(ここで念のためCMakeVars.txtの内容を確認しておく)

make -j7
make install

~/myenv_python3/bin/activateの一番下あたりに以下を追加。

export PYTHONPATH="$VIRTUAL_ENV/usr/local/lib/python3.5/site-packages:$PYTHONPATH"
export PKG_CONFIG_PATH="$VIRTUAL_ENV/usr/local/lib/pkgconfig/"
export LD_LIBRARY_PATH="$VIRTUAL_ENV/usr/local/lib/:$LD_LIBRARY_PATH"

virtualenv環境に入り直す。

deactivate
source /home/natsushi/myenv_python3/bin/activate

適当にテスト。

  #coding: utf-8
  import cv2
  img = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE)
  cv2.imshow('image', img)
  cv2.waitKey(0)
  cv2.destroyAllWindows()

  #実行しエラーがでなければOK。
  #include 
  #include 
  #include 

  using namespace std;
  using namespace cv;

  int main(int argc, char const *argv[]) {
    Mat image = imread(argv[1]);
    return 0;
  }

  //以下でビルドして実行してみる。
  //g++ -g `pkg-config --cflags opencv` -o face_kirinuki_linux test.c `pkg-config --libs opencv`

以降使う際にはactivateすればOK。

うまくいかないようなら、pythonでモジュールを探すディレクトリのリストを以下で表示するなどして。

  import sys
  print(sys.path)
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク