Ubuntu 14.04にOpenCV 3.1.0をインストール

Ubuntu 14.04 LTS(64bit)にOpenCV 3.1.0をインストールするときのメモ*1

今回は、Python 2.7.6でSIFT特徴が取れるようにする。

 

参考サイト

Ubuntu14.04にpython用にOpenCV3.0.0をインストール - Qiita

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

UbuntuでOpenCV3.0をコンパイルする - 動かざることバグの如し

 

必要なライブラリのインストール

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

ソースファイルのダウンロード

wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/3.1.0/opencv-3.1.0.zip
unzip opencv-3.1.0.zip

opencv_contribのダウンロード

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

 

.bashrcに以下を追加

export PYTHON_INCLUDE_DIRS=/usr/include/python2.7

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

 

インストール

cd opencv-3.1.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 ..

 

make -j $(nproc)

sudo make install

sudo ldconfig

 $(nproc)はコア数*2

 

あと他に必要かもしれなそうなこと

sudo cp ~/opencv-3.1.0/build/lib/cv2.so /usr/local/lib/python2.7/site-packages/

 

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

 

Pythonで使えるようになったかどうかは、参考サイトの動作確認のコードを実行

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

 

cppファイルのコンパイル方法

g++ -o sample ./sample.cpp  -ggdb `pkg-config --cflags opencv` `pkg-config --libs opencv`

 

OpenCVでSIFTやSURFを使う場合、バージョンによって関数名が違う場合があるので注意。

*1:自分の環境のUbuntu14.04だとOpenCV 3.0.0はエラーが出た。3.1.0にするとすんなりできた。

*2:-j オプションで並列処理のコア数を指定できるらしい。