コラム16 画像処理の定番ライブラリ、「OpenCV」のインストール


 
OpenCV(Open source Computer Vision Library)はインテル社が提供する、オープンソースの画像処理ライブラリです。カメラを操作する関数や静止画・動画を処理する関数などが含まれますが、本企画では主にOpenCVの図形を描画する関数を使います。


●OpenCVに必要なツールやライブラリをインストール

 ラズベリーパイをネットに接続した後、Terminalで次のようにタイプしてツールやライブラリをインストールします。

sudo apt-get install -yV libgtk2.0-dev pkg-config cmake

 libgtk2.0-devはOpenCVで使用するGUI(Graphical User Interface)のライブラリです。pkg-configはアプリケーションのコンパイルの際、ヘッダーファイルやライブラリがどこにあるのか教えてくれるツールです。cmakeはOpenCVをソースからビルドするためのツールです。


●OpenCVのソースはブラウザでダウンロードする

 次にOpenCVのソースをダウンロードします。”Web Browser”を開き、以下のサイトに行きましょう(図1-83)。

http://opencv.org


 図1-83 OpenCVのサイトからReleasesをクリック


 同図のようにReleasesをクリックし、
2.4.13.6(*1)を見つけて図1-84のようにクリックします。更に図1-85のようにSource Code(zip)をクリックするとOpenCVのソース・コードをダウンロードできます。約90MByteのZIPアーカイブです。

(*1)このバージョンのみで動作確認している。4.x.xや3.x.xでは動かない可能性がある


 図1-84 バージョンは2.4.13.6



 図1-85 Srouce code(zip)をダウンロード(約90MByte)


●アーカイブを解凍する

 ダウンロードしたZIPは~/Downloadsにあります。Terminalを開き、次のように解凍してフォルダを移動しましょう。すると図1-86のようにデスクトップにフォルダが現れます。

cd ~/Downloads
unzip opencv-2.4.13.6.zip
mv opencv-2.4.13.6 ../Desktop


 図1-86 フォルダをデスクトップに移動


●OpenCVをビルドする。長いコマンドはコピー&ペーストしよう

 buildディレクトリを作成してOpenCVをビルドします。最後のコマンドは長いので、Web Browserで本サイトからコピー&ペーストすると良いでしょう。(*2)

cd ~/Desktop/opencv-2.4.13.6
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D BUILD_NEW_PYTHON_SUPPORT=OFF -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D WITH_QT=OFF -D WITH_OPENGL=OFF -D WITH_OPENMP=ON -D ENABLE_VFPV3=ON -D ENABLE_NEON=ON ..


(*2) cmakeのオプションは「ラズベリーパイ 2 or 3」ならこれで良いが、「ラズベリーパイ ZERO」の場合は最後の2つ(ENABLE_VFPV3とENABLE_NEON)をOFFにすること。


●makeコマンドには時間がかかる

 その後、次のようにコマンドを打ちます。最初のmakeコマンドは1時間ほどかかると思います。(*3)

make -j4
sudo make install
sudo ldconfig

 最後にOpenGLのライブラリをインストールしてリブートします。

sudo apt-get install -yV libgl1-mesa-dri
sudo reboot

 これでOpenCVを使う準備ができました!

(*3)エラーが出て中断する場合は再度makeすると途中から再開する。数回繰り返してもだめな場合はリブートしてから試してみるとよい。ラズベリーパイ 2 or 3 はクアッド・コアなので、makeにオプション"-j4"を付けるとそれらが効率的に使用される。ラズベリーパイ ZEROはシングル・コアなのでこのオプションは使わない。


目次へ戻る