LoginSignup
5
2

More than 5 years have passed since last update.

ubuntu14.04にopencv2もインストールする

Last updated at Posted at 2016-10-30

はじめに

opencv2を使う必要が生じたので、インストールしてみる。最終的にpythonで使えるところまでもっていく。ここのサイトを参考に進める。
http://shumilinux.blogspot.jp/2015/08/ubuntu-1404-lts-opencv.html

環境

OS Ubuntu14.04
python 2.7.11
など

事前準備

まず既存環境を最新状態にする。

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

次にOpenCVのソースファイルを準備する。

cd ~
wget https://github.com/opencv/opencv/archive/2.4.11.zip
unzip 2.4.11.zip
cd opencv-2.4.11/

OpenCVをインストールする

buildディレクトリを作って、そこでcmakeする。

mkdir build
cd build/
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON ..

次にOpenCVをbuildする。

make
・・・
nvcc fatal   : Unsupported gpu architecture 'compute_11'
CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message):
  Error generating
  /home/ohmasa/opencv-2.4.11/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o


make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] エラー 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] エラー 2
make: *** [all] エラー 2

などとエラーが出た。unsupported gpu architectureって書いてある。

ぐぐってみたところ、以下のようなサイトを発見した。
http://stackoverflow.com/questions/28010399/build-opencv-with-cuda-support
このAnswerによると、cmakeの時に-D CUDA_GENERATION=Autoなどとやってないことが問題と思われる。よって上記をcmakeのオプションに加えて再度実行。

make
・・・
-- checking for module 'gstreamer-base-1.0'
--   package 'gstreamer-base-1.0' not found
-- checking for module 'gstreamer-video-1.0'
--   package 'gstreamer-video-1.0' not found
-- checking for module 'gstreamer-app-1.0'
--   package 'gstreamer-app-1.0' not found
-- checking for module 'gstreamer-riff-1.0'
--   package 'gstreamer-riff-1.0' not found
-- checking for module 'gstreamer-pbutils-1.0'
--   package 'gstreamer-pbutils-1.0' not found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
-- CUDA detected: 8.0
・・・

さっきよりは進んだし、CUDAも認識されているようだが、いろんなもんが足りない感じ。

エラーの対応

そこで発想を変えて、現状で最新のopencv2.4.13を入れることにする。よって以下のようにやり直し。

wget https://github.com/opencv/opencv/archive/2.4.13.zip
unzip 2.4.13.zip
cd opencv-2.4.13/
mkdir build
cd build/
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON -D CUDA_GENERATION=Auto ..

すると問題なくcmakeされた。

make

makeも問題なく完了した。

sudo make install

インストールもうまくいったみたい。

サンプルプログラムを実行する

お決まりのlenaさん画像にfacedetectするサンプルを実行する。

cd ~/opencv-2.4.11/samples/c
chmod +x build_all.sh
./build_all.sh
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

ちゃんとlenaさんの顔に丸印がついた画像が表示された。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2