手順は以下のとおり。
[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 件のコメント:
コメントを投稿