「Plusにオリジナルマーカーを登録する」の編集履歴(バックアップ)一覧はこちら

Plusにオリジナルマーカーを登録する」(2012/11/16 (金) 10:56:19) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

オリジナルマーカーを登録する 前回の調査でPlusのマルチマーカーの処理の流れはわかった。 最後はofにARMarkerInfoクラスとして渡せればいい。 ARToolkitではパターンファイルを読み込むときに char*patt_nameというポインタアドレスにファイル名を入れ、double patt_widthでパターン幅を定義する。それからarLoadPatt(patt_name)メソッドで読み込むというのが流れ。 Plusでもこれができればよい。 TrackerSingleMarkerImpl.hヘッダーファイルに int arLoadPatt(char *filename) { return AR_TEMPL_TRACKER::arLoadPatt(filename); } というインターフェース(ラッパークラス?)がある。 実体はcore/arGetCode.cxxの中に AR_TEMPL_FUNC int AR_TEMPL_TRACKER::arLoadPatt(char *filename) これっぽい。charで渡せば使えそう。戻り値がintということだが何が返ってくるのか、、、。 return( patno ); とのこと。処理内容をみると、パターンファイルを開いて、認識したらマーカーをパターンとして登録したらIDをふってintで返しつつ、同時にいくつあるかを数えてるっぽい。まずは使うタグを登録ってことで。 ここまでで何となくofxARToolkitPlus.cppを改造してみる カメラパラメータはparamFile.cxxにある、 AR_TEMPL_FUNC int AR_TEMPL_TRACKER::arParamLoadDouble( char *filename, int num, ARParamDouble *param, ...) が使えそう。 でも今回はシングルマーカーを複数使う必要がありそうなので調査。 使えそうなのは2つのファイル TrackerSingleMarker.h TrackerSingleMarkerImpl.h はじめにシングルマーカー用のトラッカークラスを作る必要があると思う。 ひとまずTrackerSingleMarkerImpl.cxxのメンバ関数をみてみる。 ARSM_TEMPL_TRACKER::TrackerSingleMarkerImpl(int nWidth, int nHeight) の中で、画面の大きさなどを登録してトラッカークラスを作れそう。
*成功せず オリジナルマーカーを登録する 前回の調査でPlusのマルチマーカーの処理の流れはわかった。 最後はofにARMarkerInfoクラスとして渡せればいい。 ARToolkitではパターンファイルを読み込むときに char*patt_nameというポインタアドレスにファイル名を入れ、double patt_widthでパターン幅を定義する。それからarLoadPatt(patt_name)メソッドで読み込むというのが流れ。 Plusでもこれができればよい。 TrackerSingleMarkerImpl.hヘッダーファイルに int arLoadPatt(char *filename) { return AR_TEMPL_TRACKER::arLoadPatt(filename); } というインターフェース(ラッパークラス?)がある。 実体はcore/arGetCode.cxxの中に AR_TEMPL_FUNC int AR_TEMPL_TRACKER::arLoadPatt(char *filename) これっぽい。charで渡せば使えそう。戻り値がintということだが何が返ってくるのか、、、。 return( patno ); とのこと。処理内容をみると、パターンファイルを開いて、認識したらマーカーをパターンとして登録したらIDをふってintで返しつつ、同時にいくつあるかを数えてるっぽい。まずは使うタグを登録ってことで。 ここまでで何となくofxARToolkitPlus.cppを改造してみる カメラパラメータはparamFile.cxxにある、 AR_TEMPL_FUNC int AR_TEMPL_TRACKER::arParamLoadDouble( char *filename, int num, ARParamDouble *param, ...) が使えそう。 でも今回はシングルマーカーを複数使う必要がありそうなので調査。 使えそうなのは2つのファイル TrackerSingleMarker.h TrackerSingleMarkerImpl.h はじめにシングルマーカー用のトラッカークラスを作る必要があると思う。 ひとまずTrackerSingleMarkerImpl.cxxのメンバ関数をみてみる。 ARSM_TEMPL_TRACKER::TrackerSingleMarkerImpl(int nWidth, int nHeight) の中で、画面の大きさなどを登録してトラッカークラスを作れそう。

表示オプション

横に並べて表示:
変化行の前後のみ表示: