2009/08/13

MacでOpenCVプログラムをコンパイル

前回、と言ってもだいぶ前にMacにMacPortsを使ってOpenCVをインストールする記事を書きました。
それからだいぶ経ちますが、今回は実際にソースを書いてコンパイルして動かすところまでをやってみたいと思います。

まず、てきとうな場所に下記のようなファイルを作成します。
今回はopencv_test.cというファイル名にしました。
ちなみに、このプログラムは指定した画像を表示するだけのプログラムです。
  1. #include "cv.h"  
  2. #include "highgui.h"  
  3.   
  4. int main(int argc, char* argv[]) {  
  5.   IplImage* img; //画像ファイルポインタ  
  6.   char imgfile[] = "test.jpg"//ファイル名  
  7.   
  8.   //画像読み込み  
  9.   img = cvLoadImage(imgfile, CV_LOAD_IMAGE_COLOR);  
  10.   
  11.   //画像の表示  
  12.   cvNamedWindow ("test OpenCV", CV_WINDOW_AUTOSIZE);  
  13.   cvShowImage ("test OpenCV", img);  
  14.   cvWaitKey (0);  
  15.   cvDestroyWindow ("test OpenCV");  
  16.   
  17.   //画像の解放  
  18.   cvReleaseImage(&img);  
  19.   
  20.   return 0;  
  21. }  

次にコンパイルします。
コンパイルする際にインクルードパスとライブラリパスをgccに直接指定します。
OpenCVに必要なヘッダファイルは/opt/local/include/opencvに、ライブラリは/opt/local/lib以下に存在します。
$ gcc -L/opt/local/lib/ -lcxcore -lcv -lhighgui -lml -I/opt/local/include/opencv/ opencv_test.c -o opencv_test
$ ./opencv_test

コンパイルが正常に終了したら出来上がったプログラムを実行すると指定した画像が表示されます。
何かのキーを押すとプログラムが終了します。

OpenCVに関する書籍やWebの例ではWindows上のVisual Studio環境が多いのですが、このようにすることでMacでもOpenCVの開発ができるようになります。
今回はIDEを使わない方法でしたが、XCodeやEclipseでも同じことができると思います。


参考サイト