ラベル OpenCV の投稿を表示しています。 すべての投稿を表示
ラベル OpenCV の投稿を表示しています。 すべての投稿を表示

2009/08/13

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

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

まず、てきとうな場所に下記のようなファイルを作成します。
今回はopencv_test.cというファイル名にしました。
ちなみに、このプログラムは指定した画像を表示するだけのプログラムです。
#include "cv.h"
#include "highgui.h"

int main(int argc, char* argv[]) {
IplImage* img; //画像ファイルポインタ
char imgfile[] = "test.jpg"; //ファイル名

//画像読み込み
img = cvLoadImage(imgfile, CV_LOAD_IMAGE_COLOR);

//画像の表示
cvNamedWindow ("test OpenCV", CV_WINDOW_AUTOSIZE);
cvShowImage ("test OpenCV", img);
cvWaitKey (0);
cvDestroyWindow ("test OpenCV");

//画像の解放
cvReleaseImage(&img);

return 0;
}

次にコンパイルします。
コンパイルする際にインクルードパスとライブラリパスを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でも同じことができると思います。


参考サイト

2008/09/15

Mac OS X LeopardにOpenCVをインストール

OpenCVは画像の認識などといった画像処理を行うクロスプラットホームなライブラリです。
Intelが提供していて、1.0以降ではMacの対応も強化されているそうです。
まだ何ができるかしっかりわかってないのですが、おもしろそうなのでとりあえずインストールしてみることにしました。

この前インストールしたMacPortsにOpenCVがすでにあるようです。
下記コマンドでインストールします。
$ sudo port install opencv

インストールは以上です。
MacPorts最高。

とりあえずサンプルプログラムを動かしてみます。
サンプルプログラムは/opt/local/share/opencv/samples以下にあります。
Cで書かれたものとPythonで書かれたものがありました。
Pythonで書けるならそれにこしたことはないですね。
とりあえず、Pythonならコンパイルいらずなので実行してみます。
$ cd /opt/local/share/opencv/samples/python
$ python lkdemo.py


ほかにもたくさんのサンプルがありました。
一番おもしろそうな顔認識のサンプルはCだとiSightから動画をキャプチャしてたのですが、Pythonのものだと画像からのみでした。
サンプルがたくさんあるので後で書き直してみようかと思います。

PythonでかけるのであればXcodeとか使わないでEmacsとかでそのまま書けるのですごく便利そうです。
なんかいろいろパス通したりしなければいけなそうなのですが、何もしないで使えたのでちょっと気持ち悪い感じです。