前にOSX LionにMacPortsからインストールしたOpenCVをXCodeでコンパイル方法を書いたけど、コマンドラインからコンパイル方法を書いてなかったので書いておきます。
gcc -wall -g -o opencv_test main.c `pkg-config –cflags opencv` `pkg-config –libs opencv`
ヘッダファイルやライブラリをリンクするのに、ファイルパス指定をやってくれるのがpkg-configです。
pkg-config –cflags opencv:OpenCVのヘッダファイル指定
pkg-config –libs opencv:OpenCVのライブラリ指定
これはコマンド扱いなのでターミナルで叩くとファイルパスが見れます。
僕の環境だとこんな感じ。
・ヘッダファイルパス
pkg-config –cflags opencv -I /opt/local/include/opencv -I /opt/local/include
・ライブラリファイルパス
pkg-config –libs opencv -L/opt/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
なので、次のように各オプションを指定すれば、pkg-configを使用した場合と同値になる。長いけど。。
gcc -wall -g -o opencv_test main.c -I/opt/local/include/opencv -I/opt/local/include -L/opt/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
(補足)コンパイルオプション
-o:実行ファイル名を指定
-g:実行ファイルにデバッグ用の情報を埋め込む
-Wall:warningをすべて表示
-I:コンパイラがヘッダファイルを探すディレクトリを指定
-L:コンパイラがライブラリを探すディレクトリを指定
ちなみにコンパイルコマンドは、/opt/local/share/OpenCV/samples/c配下に「build_all.sh」なるmakeファイルがあるのでそれを見ればわかるよ。
白黒と輪郭抽出のサンプルを置いたので試しに使ってください。