FLARToolKitのIDマーカー解説

  • このエントリーをはてなブックマークに追加
  • 80

ふと気が向いたので、FLARToolKit用のIDマーカーについて解説する。

入手方法

FLARToolKitの最新版をSubversionを使って手に入れる。

ActionScript

  1. org.libspark.flartoolkit.detector.idmarker.FLARSingleIdMarkerDetector

が混じってたら成功。

使い方

全コードについてはこちらを参照。

使い方は、普通のDetectorと変わらない。

ActionScript

  1. this._detector = new FLARSingleIdMarkerDetector(param, 80);
  2. this._detector.setContinueMode(true);

こんな感じ。引数は、カメラパラメータFLARParamと、幅。

で、認識の時はこんな感じ。

ActionScript

  1. var detected:Boolean = false;
  2. try {
  3.     detected = _detector.detectMarkerLite(_raster, 80);
  4. } catch (e:Error) { trace(e); }

普通の単一マーカ認識と一緒です。

で、見つかった場合はこう。getIdMarkerDataメソッドで、
見つかったIDマーカーの情報が取れる。
で、FLARIdMarkerData #getPacketDataで、パケット番号に対応するパケット値が取れる。
それを連結して数値にしている所。

var id:FLARIdMarkerData = _detector.getIdMarkerData();
currId=0;
//最大4バイト繋げて1個のint値に変換
for (var i:int = 0; i < id.packetLength; i++ ) { currId = (currId << 8) | id.getPacketData(i); trace("id[", i, "]=", id.getPacketData(i)); } _textdata.text = "" + currId; [/as] FLARIdMarkerDataには、他にも色々情報があるので、使っていくと便利。 例えば、modelプロパティで、IDマーカーのモデルが取れる。 2か3になるはず。 こんな感じ。これで、IDの値によって出すモデルを変えたり、色々出来るようになる。 試しに、公開していたIDマーカーのサンプルを改造してみた。
モデル3の場合、テキストの色がパケットをそれぞれ
パケット1→赤、パケット2→緑、パケット3→青
で、RGBを作るようにしてみた。
マーカーはここで作れる。
バグもなくなって、モデル3もばっちりです。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク