jp.nyatla.nyar4psg
クラス SingleARTKMarker

java.lang.Object
  上位を拡張 jp.nyatla.nyar4psg.NyARPsgBaseClass
      上位を拡張 jp.nyatla.nyar4psg.SingleMarkerBaseClass
          上位を拡張 jp.nyatla.nyar4psg.SingleARTKMarker

public class SingleARTKMarker
extends SingleMarkerBaseClass

このクラスは、登録した複数のマーカのうち、同時に1個を認識するクラスです。 NyARToolKitのSingleARMarkerProcesserを使用したクラスです。 入力画像から、事前に登録したパターンに最も一致するマーカ1個を認識して、その座標と認識したマーカの番号を出力します。


フィールドの概要
 int markerid
          推奨されていません。  
static int ST_NEWMARKER
          detectの返すステータス値です。
static int ST_NOMARKER
          detectの返すステータス値です。
static int ST_REMOVEMARKER
          detectの返すステータス値です。
static int ST_UPDATEMARKER
          detectの返すステータス値です。
 
クラス jp.nyatla.nyar4psg.SingleMarkerBaseClass から継承されたフィールド
angle, pos2d, projection, trans, transmat
 
クラス jp.nyatla.nyar4psg.NyARPsgBaseClass から継承されたフィールド
_ar_param, _config, _frustum, _preader, _ps_background_mv, _ps_projection, _ref_papplet, _src_raster, FRUSTUM_DEFAULT_FAR_CLIP, FRUSTUM_DEFAULT_NEAR_CLIP, VERSION
 
コンストラクタの概要
SingleARTKMarker(PApplet parent, int i_width, int i_height, String i_cparam)
           
SingleARTKMarker(PApplet parent, int i_width, int i_height, String i_cparam, NyAR4PsgConfig i_config)
          コンストラクタです。
 
メソッドの概要
 int detect(PImage i_image)
          画像から、マーカの認識処理を行い、プロパティを更新します。
 int getMarkerId()
          検出したマーカのIDを示します。
 void setARCodes(String[] i_patt_names, int i_marker_size)
          この関数は、マーカリストをテーブルに登録します。
 void setARCodes(String i_patt_name, int i_patt_size)
          この関数は、1個のARマーカをテーブルに登録します。
 void setConfidenceThreshold(double i_new_cf, double i_exist_cf)
          この関数は、マーカパターンの一致度敷居値を指定します。
 
クラス jp.nyatla.nyar4psg.SingleMarkerBaseClass から継承されたメソッド
beginTransform, beginTransform, endTransform, getMarkerMatrix, getMarkerVertex2D, initInstance, pickupMarkerImage, pickupRectMarkerImage, screen2MarkerCoordSystem, updateTransmat
 
クラス jp.nyatla.nyar4psg.NyARPsgBaseClass から継承されたメソッド
drawBackground, matResult2GLArray, matResult2PMatrix3D, pickupMarkerImage, PMatrix2GLProjection, PMatrix2GLProjection, screen2MarkerCoordSystem, setARClipping, setARPerspective, setBackgroundOrtho, setPerspective
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ST_NOMARKER

public static final int ST_NOMARKER
detectの返すステータス値です。

関連項目:
定数フィールド値

ST_NEWMARKER

public static final int ST_NEWMARKER
detectの返すステータス値です。

関連項目:
定数フィールド値

ST_UPDATEMARKER

public static final int ST_UPDATEMARKER
detectの返すステータス値です。

関連項目:
定数フィールド値

ST_REMOVEMARKER

public static final int ST_REMOVEMARKER
detectの返すステータス値です。

関連項目:
定数フィールド値

markerid

public int markerid
推奨されていません。 
[readonly] この変数は互換性の為に残されています。getMarkerId()を使用してください。

コンストラクタの詳細

SingleARTKMarker

public SingleARTKMarker(PApplet parent,
                        int i_width,
                        int i_height,
                        String i_cparam,
                        NyAR4PsgConfig i_config)
コンストラクタです。

パラメータ:
parent -
i_width -
i_height -
i_cparam -
i_config - コンフィギュレーションオブジェクトを指定します。 このクラスは、NyAR4PsgConfig.env_transmat_modeの値を無視します。(常にNyAR4PsgConfig.TM_NYARTKを使います。 )

SingleARTKMarker

public SingleARTKMarker(PApplet parent,
                        int i_width,
                        int i_height,
                        String i_cparam)
メソッドの詳細

getMarkerId

public int getMarkerId()
検出したマーカのIDを示します。この値は、setARCodesで登録したマーカの0からはじまる 順番を返します。たとえば、マーカを1個しか登録しなかった場合、常に0となります。


setARCodes

public void setARCodes(String i_patt_name,
                       int i_patt_size)
この関数は、1個のARマーカをテーブルに登録します。 コンストラクタの後で1度だけ呼び出してください。

パラメータ:
i_patt_name - マーカパターンの名前配列を指定します。配列の先頭から、マーカーのIDは、0,1,2...の順になります。 登録できるマーカの種類は、エッジサイズ25%、解像度16x16のみです。
i_patt_size - マーカの物理サイズを[mm]で指定します。

setARCodes

public void setARCodes(String[] i_patt_names,
                       int i_marker_size)
この関数は、マーカリストをテーブルに登録します。 コンストラクタの後で1度だけ呼び出してください。

パラメータ:
i_patt_names - マーカパターンの名前配列を指定します。配列の先頭から、マーカーのIDは、0,1,2...の順になります。 登録できるマーカの種類は、エッジサイズ25%、解像度16x16のみです。
i_marker_size - マーカの物理サイズを[mm]で指定します。このサイズは、全てのマーカで共通です。

setConfidenceThreshold

public void setConfidenceThreshold(double i_new_cf,
                                   double i_exist_cf)
この関数は、マーカパターンの一致度敷居値を指定します。 この敷居値よりも低いマーカは、認識しません。

パラメータ:
i_new_cf - 新しくマーカを認識するために必要なマーカノ一致度です。値範囲は、0<<n<100です。
i_exist_cf - 継続してマーカを認識するために必要なマーカノ一致度です。値範囲は、0<<n<100です。 i_new_cfより低い値を指定してください。

detect

public int detect(PImage i_image)
画像から、マーカの認識処理を行い、プロパティを更新します。 認識処理の結果は、戻り値にステータスコードで格納します。 二値化敷居値はPTail法により、自動的に決定します。

パラメータ:
i_image -
戻り値:
ステータスコードを返します。
  • ST_NOMARKER - マーカが認識されていない事を示します。 マーカパラメータのメンバ変数は使用不可能です。
  • ST_NEWMARKER - マーカが発見された事を示します。 transmat,angle,trans,markeridメンバ変数が利用可能です。
  • ST_UPDATEMARKER - マーカ座標が更新されたことを示します。 transmat,angle,trans,markeridメンバ変数が利用可能です。
  • ST_REMOVEMARKER - マーカが消失したことを示します。 マーカパラメータのメンバ変数は使用不可能です。


NyAR4psgは、NyARToolkit projectで開発している、NyARToolKitのProcessingフロントエンドです。ソースコードは、sorceforge.jpNyARToolkitからダウンロードできます。
Copyright 2011 NyARToolkit project. All rights reserved.