2008年11月2日日曜日

Quartz Composer / Single Marker Detector のXcodeプロジェクト

追記(2010/05/27): FYI 'ARToolKit Coordinate Correction in Quartz Composer'

追記(2008/11/12): GPLの配布ってどうすんのぉー.とこいつのことを悩んで忘れかけていたら某所(?)でご要望をいただいたので,突貫でやってみました.微妙にモデルの表示位置がおかしい気がする.などの問題はそのままです.

追記(2008/11/03): 結局QCパッチのGPL2での配布,再配布の形式がよく理解できない状態なのでやめました.どうしたらいいのか.おいらに教えてくれる人を待ちます.公開はかまわないんですけどね.



ARToolKitのコードを含むのでどうやるべきなのかわからなかったのと,どうも出力するマトリックスの結果があやしいのと色々あったのですが,それぞれ,GPLだからコード公開すれば再配布可能らしい,まぁおいらの限界がここだろうということで置いてみました.問題あればご指摘いただけるとうれしいです.

で,こんなかんじ.

謝辞
ARToolKitの成果を利用させていただいています.ARToolKitフォルダ以下のコードやリソース類はARToolKit 2.72.1より配布されていたものです.ありがとうございます.
ライセンス
ARToolKitがGPL2なのでこれもGPL2配布です.(あまりよくわかっていないので問題あればご指摘いただけると幸いです.)
制約
MQO Importerパッチと連携すると便利です.これ自体は画像からパターンを見つけて変換マトリックスを出力するだけです.
作成環境
MBP (Intel) / MacOSX 10.5.5 / Xcode 3.1(確認 Quartz Composer 3.1)
ビルド
アクティブターゲットを"Build & Copy", アクティブなビルド構成を"Release"にしてビルドすると'${HOME}/Library/Graphics/Quartz\ Composer\ Plug-Ins'の下に'SingleMarkerDetector.plugin'ができてQCで使えるハズです.
使い方
1.QCにパッチを配置後,Video Inputのような画像をinputImageへつないでください.
2.マーカーの種類はパッチのSettingでsample1,2を選べます.画像はpattSample1.pdf, pattSample2.pdfに対応します.
3.うまく認識できれば'outputFound'がTrueに, 'outputMatrix'に出力がでます.
outputMatrixについて.変換の4x4行列が出力されます.立体モデルの座標を変換するための機能です.(中身は16個のdoubleをNSNumberに詰め込んでNSArrayで配列化したポートです.このdoubleの配列がglLoadMatrixdの引数とすればよい(ハズ)です.)
スナップショットのように接続する場合,注意点としてMQO ImporterのレイヤーがBillboardより大きい数字(合成上,手前(?))となるようにすることです.)
スナップショット

免責(?):
AS ISでお願いします.とりあえずなんだか動いたよって程度のものだと認識してくださいね.
コードにおかしなところがありましたらご指摘いただけると幸いです.
ダウンロード:
こちらから

0 件のコメント: