まだ色々とよく分からないことが多い.
The Xgrid Tutorials | MacResearch というサイトが良い参考になった.
Makefileを用いる既存のプログラムをXcodeで使うときの手順.
1.[ファイル]->[新規プロジェクト...]->[空のプロジェクト]
私の場合,プロジェクト名及びディレクトリは使うプログラムがあるディレクトリにする.
2.サイドバー,「グループとファイル」の[プロジェクト名]を右クリック,[追加]->[既存のファイル...]
必要なファイルを全て追加する.
3.サイドバー,「グループとファイル」の[ターゲット]を右クリック,[新規ターゲット]->[Special Targets]->[External Target]
ターゲット名は適当に.私の場合は通常は「make」

4.追加されたターゲットをダブルクリック,[カスタムビルドコマンド]->[ディレクトリ]で,使用する(Makefileのある)ディレクトリを選択.

5.サイドバー,「グループとファイル」の「実行可能ファイル」を右クリック,[追加]->[新規カスタム実行可能ファイル...]
実行したいプログラムのファイルを指定
6.5の実行可能ファイルを設定,[一般]の作業ディレクトリの設定先を「プロジェクトディレクトリ」に
7.[引数]で使用する引数,環境変数を設定
私の場合,環境変数を以下のように追加

Mac対応のWebカメラはなかなかなく,見つけても高価な事が多々あります.そこでMacに対応していないwebカメラをどうにかMacで使えない物かと思いました.
LogitechのWebカメラの場合,Macに対応していない安価なものでも,Macに対応しているカメラに対するドライバをインストールすることで認識されるようになるものが多いようです.
ただし,その場合ホワイトバランスの調整ができていないのか,画面が真っ白になって使い物にならない事があります.このときは macam (http://webcam-osx.sourceforge.net/) というアプリケーションで調整し,設定を保存することができました.
OpenCVでカメラから画像を取り込む場合,次の関数を用います.
> CVAPI(CvCapture*) cvCaptureFromCAM( int index );
このとき,indexの値を変えることで複数のカメラを選択できるはずなのですが,私のMacbookでは常にiSightが認識され,USBカメラを認識させることができませんでした.そこで,実際のソースの中で,
> CvCapture *cap = NULL;
> cap = cvCaptureFromCAM(0);
> cap = cvCaptureFromCAM(1);
のようにすることで,強引に認識されるようにしました.
一度目にiSightを認識し,二度目でUSBカメラを認識します.
> cvReleaseCapture(&cap);
と解放するまで,iSightの緑のランプはついたままになりますが,
実際にキャプチャするのはUSBカメラのみなので,(たぶん)計算の負担にはなりません.
もっとスマートな方法があればよいのですが...

RECENT COMMENTS