LoginSignup
15
18

More than 5 years have passed since last update.

EclipseでOpenCVの開発環境を構築する

Posted at

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

こいつは困った

Screenshot_from_2013-11-13 08:38:36.png

ここまでできたら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"/>

全部のライブラリを必ずしも使うわけではないので必要なものだけ追加すれば済みますが、とりあえず全部追加しときゃええねん、という横着な考えです。これが済めばこんなかんじになっているはずです。
Screenshot_from_2013-11-18 00:27:32.png

さて、インクルードパスとライブラリー検索パスを設定し終えましたが、これだけではライブラリをeclipseはみつけてくらないのです。なので環境変数を追加します。

例によってプロジェクトを右クリックし、実行->実行の構成を開き、そして環境タブを開きます。そんでもって環境変数を追加します。
名前:LD_LIBRARY_PATH
値:/usr/local/opencv/2.4.7/lib/

こんなふうになればおkです。
Screenshot_from_2013-11-18 00:33:03.png

プログラムを書いて実行

さて長い前ふりもようやく終わりです。環境が構築できたので、プログラムを書いて実行してみたくなっていると思います。画像を読み込んで表示するだけのプログラムを動かしてみましょう。
その前に、はやる気持ちを抑えつつ、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;
}

レナさんのご尊顔が表示されたら大成功です。なにかキーを押すとウィンドウが閉じてプログラムは終了します。
Screenshot_from_2013-11-18 00:41:55.png

これでEclipseをつかったOpenCVの開発環境が構築できました。いろいろと遊んでみると楽しいと思います。

15
18
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
15
18