public abstract class SingleARMarkerProcesser
extends java.lang.Object
イベントの説明-
このクラスには、3個の自己コールバック関数があります。SingleARMarkerProcesser
は、以下のタイミングでこれらを呼び出します。
ユーザは継承クラスでこれらの関数に実装を行い、イベント駆動のアプリケーションを作成できます。
onEnterHandler(int)
- 登録したマーカが初めて見つかった時に呼び出されます。ここに、発見したマーカに対応した初期処理を書きます。
onLeaveHandler()
- 検出中のマーカが消失した時に呼び出されます。ここに、マーカの終期処理を書きます。
onUpdateHandler(jp.nyatla.nyartoolkit.core.rasterdriver.squaredetect.NyARSquare, jp.nyatla.nyartoolkit.core.types.matrix.NyARDoubleMatrix44)
- 検出中のマーカの位置姿勢が更新されたときに呼び出されます。ここに、マーカ位置の更新処理を書きます。
特性-
NyARMarkerSystem
を使うべきです。修飾子とタイプ | フィールドと説明 |
---|---|
java.lang.Object |
tag
ユーザーが自由に使えるタグ変数です。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
detectMarker(INyARRgbRaster i_raster)
この関数は、画像を処理して、適切なマーカ検出イベントハンドラを呼び出します。
|
void |
reset(boolean i_is_force)
この関数は、インスタンスの状態をリセットします。
|
void |
setARCodeTable(NyARCode[] i_ref_code_table,
int i_code_resolution,
double i_marker_width)
この関数は、検出するマーカパターンテーブルの配列を指定します。
|
void |
setConfidenceThreshold(double i_new_cf,
double i_exist_cf)
この関数は、マーカパターンの一致率の敷居値を設定します。
|
public void setARCodeTable(NyARCode[] i_ref_code_table, int i_code_resolution, double i_marker_width)
onEnterHandler(int)
イベントハンドラに通知されるID番号に対応し、マーカパターンの識別に使います。i_ref_code_table
- マーカパターンテーブルにセットする配列です。配列にあるマーカパターンの解像度は、i_code_resolutionに一致している必要があります。i_code_resolution
- マーカパターン縦横解像度です。i_marker_width
- メモ: マーカを検出している状態で関数を実行すると、イベント通知なしに、認識中のマーカを見失います。
NyARRuntimeException
public void reset(boolean i_is_force)
onLeaveHandler()
イベントハンドラがコールされ、未認識状態になります。i_is_force
- 強制フラグ。trueにすると、イベント通知なしにマーカ認識状態をリセットします。public void detectMarker(INyARRgbRaster i_raster)
i_raster
- 検出処理をする画像を指定します。NyARRuntimeException
public void setConfidenceThreshold(double i_new_cf, double i_exist_cf)
i_new_cf
- 新しくマーカを発見するときの閾値です。i_exist_cf
- 継続してマーカを追跡するときの閾値です。
i_new_cfの6割程度の値を指定すると良いでしょう。