EclipseでOpenCVの開発環境を構築
忘れっぽい私による忘れないための投稿です。
環境
- Ubuntu13.10
- Eclipse Standard 4.3.1
- OpenCV2.4.7
言語はC++です。
eclipseをダウンロード
これがないと話が始まりませんのでダウンロードしましょう。
http://www.eclipse.org/downloads/
pleiadesもダウンロード
日本語化したいのでこれもダウンロードしましょう。
http://mergedoc.sourceforge.jp/
eclipseをインストールして日本語化
インストール先は/usr/local/eclipse
です。~/Downloads
にファイルがダウンロードされていると想定しています。
cd /usr/local
sudo tar xvf ~/Downloads/eclipse-standard-kepler-SR1-linux-gtk-x86_64.tar.gz
cd eclipse
sudo unzip ~/Downloads/pleiades.zip
sudo vi eclipse.ini
eclipse.iniに、次の行を追記します。
-javaagent:/usr/local/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
これで日本語化されます。
eclipseを実行する前に忘れずにOpenJDKをインストールしましょう。
sudo apt-get install openjdk-7-jdk
こいつは困った
ここまでできたらeclipseが実行できます。実行すると、おそらくメニューバーが表示されずにびっくりすると思います。
こいつは困った。なんとかしましょう。
eclipse.desktop
を編集して何とかします。
sudo gedit /usr/share/applications/eclipse.desktop
[Desktop Entry]
Version=4.3.1
Name=Eclipse
Exec=env UBUNTU_MENUPROXY=0 /usr/local/eclipse/eclipse
Icon=eclipse.png
Terminal=false
Type=Application
Categories=Utility;Application
dash(windowsキーを押すと表示されるアレのことです)から起動するとメニューバーが表示されています。ふー良かった。良かった。起動しやすいようにランチャーに登録しておきましょう。
C++が使えるように C/C++ 開発ツール SDK をインストールします。ここまでできたら、eclipseで実行可能なHello World C++プロジェクトを作って、実行してみてHello Worldが表示されるのを確認しましょう。
OpenCVのインストール
OpenCVのインストールをしましょう。
インストールにまず必要なものは以下の通りです。
sudo apt-get install git cmake g++ libgtk2.0-dev
sourceforgeからでもいいですが、gitからcloneしてOpenCVをインストールすることにします。
現在の最新版は2.4.7です。インストール先は/usr/local/opencv/2.4.7/
にします。
git clone https://github.com/Itseez/opencv.git
mkdir opecnv/build
cd opencv/build
sudo mkdir /usr/local/opencv
sudo mkdir /usr/local/opencv/2.4.7
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/opencv/2.4.7 ..
make
sudo make install
結構時間がかかると思います。終わったらeclipseを起動します。
先ほど作ったHello World C++プロジェクトがあると思いますので、それの設定を変更してOpenCVが使えるようにします。
インクルードパス、ライブラリパスの設定
プロジェクトを右クリックし、プロパティ->C/C++ビルド->設定を開きます。
GCC C++ Compiler->インクルードのインクルード・パス(-I)に/usr/local/opencv/2.4.7/include
を追加します。これはすぐ済むと思います。
次にライブラリです。
GCC C++ Linker->ライブラリーのライブラリー検索パス(-L)に/usr/local/opencv/2.4.7/lib
を追加します。
ライブラリー(-l)も追加しなければなりません。opencv_core
をとりあえず追加してOKを押しましょう。
数が多いと追加するのが大変ですね。
そこで、~/workspace/helloworld/.cprojectを開きます。opencv_coreライブラリーが追加されている個所があると思いますので、そこに以下を書きます。これで一個ずつ追加しなくても済みます。
<listOptionValue builtIn="false" value="opencv_calib3d"/>
<listOptionValue builtIn="false" value="opencv_contrib"/>
<listOptionValue builtIn="false" value="opencv_core"/>
<listOptionValue builtIn="false" value="opencv_features2d"/>
<listOptionValue builtIn="false" value="opencv_flann"/>
<listOptionValue builtIn="false" value="opencv_highgui"/>
<listOptionValue builtIn="false" value="opencv_imgproc"/>
<listOptionValue builtIn="false" value="opencv_legacy"/>
<listOptionValue builtIn="false" value="opencv_ml"/>
<listOptionValue builtIn="false" value="opencv_nonfree"/>
<listOptionValue builtIn="false" value="opencv_objdetect"/>
<listOptionValue builtIn="false" value="opencv_photo"/>
<listOptionValue builtIn="false" value="opencv_stitching"/>
<listOptionValue builtIn="false" value="opencv_superres"/>
<listOptionValue builtIn="false" value="opencv_ts"/>
<listOptionValue builtIn="false" value="opencv_video"/>
<listOptionValue builtIn="false" value="opencv_videostab"/>
全部のライブラリを必ずしも使うわけではないので必要なものだけ追加すれば済みますが、とりあえず全部追加しときゃええねん、という横着な考えです。これが済めばこんなかんじになっているはずです。
さて、インクルードパスとライブラリー検索パスを設定し終えましたが、これだけではライブラリをeclipseはみつけてくらないのです。なので環境変数を追加します。
例によってプロジェクトを右クリックし、実行->実行の構成を開き、そして環境タブを開きます。そんでもって環境変数を追加します。
名前:LD_LIBRARY_PATH
値:/usr/local/opencv/2.4.7/lib/
プログラムを書いて実行
さて長い前ふりもようやく終わりです。環境が構築できたので、プログラムを書いて実行してみたくなっていると思います。画像を読み込んで表示するだけのプログラムを動かしてみましょう。
その前に、はやる気持ちを抑えつつ、lena.jpgをhelloworldプロジェクト直下にコピーします。~/Downloads/opencv/samples/cpp/lena.jpg
にあると思います。
#include "opencv2/opencv.hpp"
int main() {
// レナさんの画像を開きます。
cv::Mat image = cv::imread("lena.jpg");
// 画像をウィンドウに表示します。
imshow("lena", image);
// なにかキーが入力されるまで待ちます。
cv::waitKey(0);
return 0;
}
レナさんのご尊顔が表示されたら大成功です。なにかキーを押すとウィンドウが閉じてプログラムは終了します。
これでEclipseをつかったOpenCVの開発環境が構築できました。いろいろと遊んでみると楽しいと思います。