C++/OpenCV

Last-modified: 2014-05-27 (火) 16:38:01

インストール

前準備

OpenCVに必要なライブラリ。

  • GTK+2
  • libpng
  • libjpeg
  • libtiff
    とりあえずインストールされてるかチェックしてみたら例の如くヘッダファイルがなかったのでインストール。
    # yum -y install gtk2-devel libpng-devel libjpeg-devel libtiff-devel

OpenCVで動画を扱いたいならlibavcodec、IEEE1394 カメラ経由のデータを扱うためにはlibdc1394とlibraw1394が必要になるらしいですが、今回は静止画のみを扱いたいので割愛します。

OpenCVインストール

http://sourceforge.net/projects/opencvlibrary/から1.0.0をダウンロード
wgetがうまくいかなかったのでWindowsに落としてからWinSCPでアップするという力技を実行。
解凍してコンパイル、インストールします。

# ./configure
# make
# su
# make install

pkg-config

/etc/profileに以下の行を追加

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

これやると、ヘッダファイルやスタティックライブラリを呼び出すときが楽。

# pkg-config --cflags opencv
-I/usr/local/include/opencv
# pkg-config --libs opencv
-L/usr/local/lib -lcxcore -lcv -lhighgui -lcvaux -lml

ソースコードのコンパイル

C++でかいてるので、g++コマンドでコンパイルができますが、OpenCVのパスを通す必要があります。

g++ `pkg-config --cflags opencv` `pkg-config --libs opencv` -o hoge hoge.cpp

毎回毎回めんどくさいので、Makefile作成したほうが早いということで

# Makefile
g++ `pkg-config --cflags opencv` `pkg-config --libs opencv` -o hoge hoge.cpp

OpenCV関連はとりあえずこれを使いまわせば楽。