OpenCVの開発環境を整える~Mac編~
とりあえず、マシンに接続されたカメラから動画像を取得して表示するだけのサンプルアプリケーションを作成する
以下のコードを適当にimage.cppとかにして保存
#include <cv.h> #include <highgui.h> #include <ctype.h> int main (int argc, char **argv) { int key; CvCapture *capture = NULL; if( ( capture = cvCreateCameraCapture( 0 ) ) == NULL ) { return -1; } IplImage *frame = cvQueryFrame (capture); cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, frame->width); cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, frame->height); cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE); while (1) { frame = cvQueryFrame( capture ); cvShowImage ("Capture", frame); key = cvWaitKey (10); if (key == 'q') break; } cvReleaseCapture (&capture); cvDestroyWindow ("Capture"); return 0; }
今回はこのコードをgcc/g++を用いてコンパイルします
コードの解説はいずれ。
$ g++ -o image image.cpp `pkg-config --cflags --libs opencv`
でコンパイルできるけど、今後のことも考えてMakefileを作成します。
以下のコードをimage.cppと同じ階層にMakefileとして保存
CXX = g++ CXXFLAGS = `pkg-config --cflags opencv` LDFLAGS = `pkg-config --libs opencv` TARGET = $@ SOURCE = $@.cpp TARGET: $(CXX) -o $(TARGET) $(SOURCE) $(CXXFLAGS) $(LDFLAGS) .PHONY: clean clean: rm -f *.o *~
これで準備オッケー
ターミナルから以下をタイプ
$ make image g++ `pkg-config --cflags opencv` `pkg-config --libs opencv` image.cpp -o image $ ./image
でiSightが起動したら成功。
ちなみに「q」でアプリケーション終了
makeが上手くいかない場合はきっとパスが通っていないんだろう
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
をタイプしてみる
.bashrcに書き込んでおくとよい