手順は以下のとおり。
[1] Xcode をインストール
AppStore で検索&クリック。あとは待つだけ。[2] MacPorts をインストール
公式サイトから Lion 用のイメージをダウンロードしてきてインストール。インストールが終わったら、一応アップデートしておく。
$ sudo port selfupdate
[3] OpenCV をインストール
MacPorts を使ってしまえばコマンド一発。時間はかなりかかる。$ sudo port install opencv
[4] Xcode のプロジェクト設定
ポイントは3つ。- 「Valid Architectures」を"x86_64"のみにする。
※"i386"を含めたままでは、ビルドでエラーが出た。 - 「Header Search Paths」に"/opt/local/include"を追加。
- 「Other Linker Flags」に必要なライブラリのパスを追加。例えば、以下の3つ。
- "/opt/local/lib/libopencv_core.2.2.0.dylib"
- "/opt/local/lib/libopencv_highgui.2.2.0.dylib"
- "/opt/local/lib/libopencv_imgproc.2.2.0.dylib"
というわけで、C でこんなコードを書いて動かしてみると、、、
#include <opencv/cv.h> #include <opencv/highgui.h> IplImage* doCvGray(IplImage* in); IplImage* doCanny(IplImage* in, double lowThresh, double highThresh, double aperture); int main (int argc, const char * argv[]) { cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE); cvNamedWindow ("Edge", CV_WINDOW_AUTOSIZE); CvCapture *capture = cvCreateCameraCapture(0); assert(capture != NULL); IplImage *frame = 0; IplImage *out = 0; int c; while (1) { frame = cvQueryFrame (capture); out = doCvGray(frame); out = doCanny(out, 10, 100, 3); cvShowImage("Capture", frame); cvShowImage("Edge", out); cvReleaseImage(&out); c = cvWaitKey (2); if (c == '\x1b') break; } cvReleaseCapture (&capture); cvDestroyWindow ("Capture"); cvDestroyWindow ("Edge"); return 0; } IplImage* doCvGray(IplImage* in){ IplImage* out = cvCreateImage(cvGetSize(in), IPL_DEPTH_8U, 1); cvCvtColor(in, out, CV_BGR2GRAY); return out; }; IplImage* doCanny(IplImage* in, double lowThresh, double highThresh, double aperture){ IplImage* out = cvCreateImage(cvGetSize(in), IPL_DEPTH_8U, 1); cvCanny(in, out, lowThresh, highThresh, aperture); return out; };はい、エッジ検出できておりますw
0 件のコメント:
コメントを投稿