OpenCV
OpenCV3

OpenCV3.0とopencv_contribをubuntuに入れた作業メモ

More than 3 years have passed since last update.


依存パッケージのインストール

sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip


ソースのダウンロード

公式のgithubから落としてくるとめっちゃ遅い。相当なサイズになってるのでzipで落とす。

cd ~

wget https://github.com/Itseez/opencv/archive/3.0.0.zip -O opencv-3.0.0.zip
unzip opencv-3.0.0.zip


opencv_contribのダウンロード

公式のgithubから全部落としてくるとめっちゃ遅い。最新のコミットだけ取ってくる

cd ~

git clone --depth 1 https://github.com/Itseez/opencv_contrib.git opencv_contrib

今回使用したのは以下のリビジョン

22f5843 Merge pull request #338 from patricksnape:msvc_python_fixes


cmake

cd opencv-3.0.0

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..

この時にpython libraryがNOになっていると失敗する。その時は以下のように環境変数を設定する

export PYTHON_INCLUDE_DIRS="/usr/include/python2.7"

export PYTHON_LIBRARYS="/usr/lib/x86_64-linux-gnu/libpython2.7.so"


ビルド

make -j 4

sudo make install
sudo
ldconfig


ライブラリへのパスを通す

virtualenvなどで必要であれば以下のようにパスを通す。virtualenvの設定では ~/.virtualenvs にディレクトリが無い可能性もある。

ls -s ~/.virtualenvs/<WORK>/lib/python2.7/site-packages/cv2.so /usr/local/lib/python2.7/dist-packages/cv2.so


動作確認

"""

importのテスト
"""

import cv2

# OpenCVのバージョン
print cv2.__version__

# モジュールの配置先
print cv2.__file__

# opencv_contribのモジュールが使えるか
sift = cv2.xfeatures2d.SIFT_create()

3.0.0

/usr/local/lib/python2.7/dist-packages/cv2.so