はじめに
AKAZEを使いたかったのでopencv3を入れてみました。
pyenvでpython2.7.10をインストールしてあります。
以下2.7.10となっているところは自分のバージョンに変えてください。
numpy
必要そうなものを片っぱしからインストール
$ 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 libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
権限がないと怒られたので以下
$ sudo chmod -R 777 /home/ubuntu/.pyenv/versions/2.7.10/lib/python2.7/site-packages/
numpy1.8を入れたかったので
numpyのバージョンを指定してインストール
$ pip install numpy==1.8
opencv
pythonのバージョンをsystemに戻しておく。
戻さないでインストールしてさんざん苦しみました。
後に出てくるcv2.soがどう頑張っても見つからなくなります。
$ pyenv global system
opencv3インストール
$ mkdir opencv
$ cd opencv
$ wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/3.0.0/opencv-3.0.0.zip
$ unzip opencv-3.0.0.zip
$ cd opencv-3.0.0/
$ mkdir build
$ cd build
$ make -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_java=OFF -D WITH_IPP=OFF -D WITH_1394=OFF -D WITH_FFMPEG=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_opencv_video=OFF -D BUILD_opencv_videoio=OFF -D BUILD_opencv_videostab=OFF -D PYTHON_EXECUTABLE=$(which python) ..
$ make
$ sudo make install
これでcv2.soというものがどこかに入っているはずです。
$ sudo find / -name cv2.so
見つかったものをpythonが読み込めるようにコピーしてあげます。
$ sudo cp /home/ubuntu/opencv/opencv-3.0.0/build/lib/cv2.so /home/ubuntu/.pyenv/versions/2.7.10/lib/python2.7/site-packages/
pythonのバージョンを元に戻します。
$ pyenv global 2.7.10
cv2をimportできるか確かめます。
$ python
>> import cv2
エラーが出なければ成功です。