依存パッケージのインストール
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