Ubuntu 14.04 LTSにOpenCV2.4.11をインストール


OpenCVは正式名称をOpen Source Computer Vision Libraryと言います。そもそもOpenCVとは何なのか…これは簡単に言うと、画像処理や画像解析等の機能を持ち合わせたIntel製のライブラリです。このライブラリを用いることで、簡単に画像処理等のプログラミングを行うことが可能です。今回はOpenCV2.4.11のインストールを行います。

では内容に入ります。(Ubuntu 15.04以降をご利用の方はこちら)

手順 -事前準備-

UbuntuにOpenCVをインストールする前に行うことが3点あります。
  1. 既存環境を最新状態に更新する。
  2. 必要なパッケージをインストールする。
  3. OpenCVのソースファイルを準備する。
では、まずこれらを行っていきます。

1. 既存環境を最新状態に更新する。

Terminalを起動して("Ubuntuの場合、Ctrl + Alt + Tを同時押しする" or "Dashホームで「端末」と入力し実行する")、以下のコマンドを実行し、システムを最新状態にしてください。
sudo apt-get update
sudo apt-get upgrade

2. 必要なパッケージをインストールする。

OpenCVを使用する際に必要となるパッケージをインストールします。画像を読み込んだり書き込んだり、ディスプレイに表示したり…と様々なことをできるようにするOpenCVですが、これらを行うためにパッケージが必要になります。Terminalを起動して以下のコマンドを実行してください。
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

3. OpenCVのソースファイルを準備する。

OpenCVのダウンロードページからソースファイルをダウンロードするのでも良いですが、今回はTerminal上で全て済ませます。ダウンロードが終了したらファイルを解凍し、その後、解凍したディレクトリに移動します。Terminalを起動して以下のコマンドを実行してください。
cd ~
wget https://github.com/opencv/opencv/archive/2.4.11.zip
unzip 2.4.11.zip
cd opencv-2.4.11/

手順 -インストール-

ここまでの作業が終了したら、早速OpenCVをインストールしていきましょう。基本的にはTerminalでコマンドを実行していけば完了します。インストールの流れを先に説明しておきます。
  1. cmakeコマンドでmakefileの作成を行う。
  2. OpenCVをビルドし、インストールを行う。
  3. Pathを設定し、設定を反映させる。
では、作業を行っていきます。

1. cmakeコマンドでmakefileの作成を行う。

cmakeはよく、ソフトウェアのビルドを行う際に使われます。今回もcmakeを用いてインストールを行っていきます。ビルドする際のディレクトリを作成し、そのディレクトリに移動します。そこで、cmakeコマンドを実行することでmakefileを生成します。Terminalを起動して以下のコマンドを実行してください。ここで注意するべき点は、cmakeコマンドの最後のtwo dots(..)を忘れないことです。これはcmakeコマンドで、今いるディレクトリの一つ上の階層(ここでいうとOpenCVのソースがあるディレクトリ)を参照する必要があるためです。この作業は少し時間がかかります。
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 ..

2. OpenCVをビルドし、インストールを行う。

makefileの作成が完了したら、OpenCVをビルドし、インストールを行います。Terminalを起動して以下のコマンドを実行してください。この作業は先ほどのcmakeコマンドよりも時間がかかりますが、これでOpenCVのインストールは完了です。
make
sudo make install

3. Pathを設定し、設定を反映させる。

OpenCVをインストールしたらおしまいというわけにはいきません。このまま、プログラムをビルドした際、ライブラリを参照できないため、エラーとなってしまいます。そこで、Pathの設定を行い、その設定を反映させます。Terminalを起動して以下のコマンドを実行してください。今回はgeditを使って編集を行いますが、テキストエディタは各自お好みに合わせて変更してください。
sudo gedit /etc/ld.so.conf.d/opencv.conf
opencv.confを開いたら、ファイル内の一番下の行
/usr/local/lib
を記述してください。ファイルを保存したら閉じてTerminalに戻ります。戻ったら、以下のコマンドを実行してください。これにより設定を反映します。
sudo ldconfig
同様に、Terminalで以下のコマンドを実行してください。
sudo gedit /etc/bash.bashrc
bash.bashrcを開いたら、ファイル内の一番下の行に
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
を記述してください。これで完全にOpenCVのインストールは終了です。

サンプルプログラムの実行

ここまで完了したら一旦Terminalを閉じ、PCを再起動するか、ログアウトしてからログインし直してください。これでOpenCVは正常に動くはずです。それでは、サンプルプログラムを動かしてみましょう。Terminalを起動して以下のコマンドを実行してください。ここではC言語のサンプルを実行します。サンプルがあるディレクトリに移動し、シェルスクリプトに実行権限を与えます。その後、シェルスクリプトを実行してサンプルのビルドを行います。
cd ~/opencv-2.4.11/samples/c
chmod +x build_all.sh
./build_all.sh
ビルドが完了したらサンプルを動かします。ここでは、顔検出のサンプルを実行してみます。Terminalで以下のコマンドを実行してください。
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg
実行後、以下のような画像が表示されれば成功です。色々と試してみてください。なお、自分で作成したプログラムの場合、例えば作成したファイル名を"test.c"であると仮定すると、
gcc test.c -o test.out `pkg-config --cflags opencv` `pkg-config --libs opencv`
のようにするとビルドが可能です。


以上。

SHARE
Blogger Comment

1 コメント:

  1. wget以降のインストール手順は、オフラインでも可能ですか?

    返信削除