Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
24
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

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

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

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
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
24
Help us understand the problem. What are the problem?