やたら長いタイトルですが、ピンポイントでこのあたりの情報が無かったので載せておきます。C++は初めてだけどね。
環境設定
OpenCVで遊ぼう!: MacOSXでOpenCV2.0を使う(Mac Ports)
OpenCVのインストール、Xcodeで扱うにはここの説明を元にします。公式のWikiに書いてあることの訳なんですが、C++で使うので1のテンプレート作成の時にC++のテンプレートを選びます。それ以外は同じ。
C++のAPIを使う
OpenCV2.0の新しくなったC++APIを使ったコードを載せときます。昔のAPIをそもそも使った事無くて比較は出来ないんですが、とても使いやすいです。#includeするのは "cv.h" と "highgui.h" だけでオーケー。using namespace cv; といれとくととても短く書けます。さらに新しくなったAPIを使う場合、メモリの管理が自動で行われるので、簡単なプログラムならなにも気にしなくていいのから超楽です。Processingみたいです。
サンプルコード
普通に画像を表示するコードが無かったのでざっくり作ってみた。プロジェクトのディレクトリにimageディレクトリを作って適当に手持ちのjpgを放り込んで実行するとぽんと表示されるはず。
#include "cv.h" #include "highgui.h" using namespace cv; int main (int argc, char** argv) { Mat image = imread("../../image/test.jpg", 1); namedWindow("hello", 1); imshow("hello", image); waitKey(10000); return 0; }
カメラを使えるかもチェック
画像とビデオの読み込みと書き込み — opencv v2.1 documentation
公式リファレンスのサンプルコードを持って来てそのままコピペして動かします。Macbookでは普通に動きました。
こんな感じです。Ωです。エッジ検出するコードなんですね。