いつもの作業の備忘録

作業を忘れがちな自分のためのブログ

【Ubuntu】Opencv2.4.11をUbuntuにインストールする

CuDNNが入った環境でOpencvをインストールする際のメモ。

1.easydictのインストール

Opencvを使うプログラム(Faster RCNNなど)を動かそうとするとImport Error: No module named easydictというエラーが出るのでpipでインストール

$ pip install easydict

OpenCVが入っていない場合、Import Error: No module named cv2 というエラーが出る。以下の手順でインストール

2.apt-getの更新と必要ライブラリのインストール

まず、ソフトウェアアップデートをかけて、必要なライブラリ郡をインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ 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

※ここでapt-get upgradeによってUbuntuにログインできなくなっった場合は以下を参照して復帰。
【Ubuntu】ソフトウェアアップデート時のログインエラー対処 - いつもの作業の備忘録

3.OpenCVのインストール

OpenCVのダウンロード。OpenCVのインストール先を$OPENCVとする。

$ cd $OPENCV
$ wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.11/opencv-2.4.11.zip
$ unzip opencv-2.4.11.zip
$ cd opencv-2.4.11/

Cmakeを実行。CUDA_GENERATION=Autoではうまく行かなかったのでKeplerを指定した。利用するGPUによって変える必要がある

$ mkdir build
$ cd build/
$ cmake -D BUILD_EXAMPLES=ON -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_1394=OFF -D WITH_IPP=ON -D WITH_TBB=ON -D WITH_V4L=OFF -D PYTHON_EXECUTABLE=/home/daisuke/work/dl_tools/anaconda2/bin/python -D PYTHON_LIBRARY=/home/daisuke/work/dl_tools/anaconda2/lib/libpython2.7.so -D PYTHON_INCLUDE=/home/daisuke/work/dl_tools/anaconda2/include/python2.7 -D PYTHON_PACKAGES_PATH=/home/daisuke/work/dl_tools/anaconda2/lib/python2.7/site-packages -D BUILD_TIFF=ON -D CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_CXX_COMPILER=/usr/bin/g++ -D CUDA_GENERATION=Kepler ../

続いてビルド。この作業は1時間ほどかかる。
※CUDA8.0を使う場合、make時にエラーが出る。エラーの対処法を紹介しているブログが見つかったので以下を参考にしていただきたい。
https://rohanrajblogs.blogspot.jp/2016/12/installation-of-opencv-2411-along-with.html

$ make
$ sudo make install

4.パスの設定

以下のコマンドでopencv.confを開き、ファイル(の最後)に以下の行を加える

$ sudo vim /etc/ld.so.conf.d/opencv.conf
#記述内容
/usr/local/lib


共有ライブラリの依存関係を更新

$ sudo ldconfig

パスを設定。bash.bashrcに以下の内容を追記。

$ sudo vim /etc/bash.bashrc 
記述内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

bash.bashrcを有効にするためにターミナルを再起動し、pythonを実行。
import cv2がエラーなく終了すればインストール成功

※参考
http://www.icrus.org/horiba/article/2014_11_07_01.php
http://shumilinux.blogspot.jp/2015/08/ubuntu-1404-ltsopencv2411.html
http://stackoverflow.com/questions/28010399/build-opencv-with-cuda-support
https://rohanrajblogs.blogspot.jp/2016/12/installation-of-opencv-2411-along-with.html