public class NyARMarkerSystem extends NyARSingleCameraSystem
NyARGlMarkerSystem
クラスがあります。修飾子とタイプ | フィールドと説明 |
---|---|
static int |
LOST_DELAY_DEFAULT
マーカ消失時の、消失までのディレイ(フレーム数)の初期値です。
|
static int |
THLESHOLD_AUTO
定数値。
|
FRUSTUM_DEFAULT_FAR_CLIP, FRUSTUM_DEFAULT_NEAR_CLIP
コンストラクタと説明 |
---|
NyARMarkerSystem(INyARMarkerSystemConfig i_config)
コンストラクタです。
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
addARMarker(java.io.InputStream i_stream,
int i_patt_resolution,
int i_patt_edge_percentage,
double i_marker_size)
この関数は、ARToolKitスタイルのマーカーをストリームから読みだして、登録します。
|
int |
addARMarker(INyARRgbRaster i_raster,
int i_patt_resolution,
int i_patt_edge_percentage,
double i_marker_size)
この関数は、画像からARマーカパターンを生成して、登録します。
|
int |
addARMarker(NyARCode i_code,
int i_patt_edge_percentage,
double i_marker_size)
この関数は、ARToolKitスタイルのマーカーを登録します。
|
int |
addARMarker(java.lang.String i_file_name,
int i_patt_resolution,
int i_patt_edge_percentage,
double i_marker_size)
この関数は、ARToolKitスタイルのマーカーをファイルから読みだして、登録します。
|
int |
addNyIdMarker(long i_id,
double i_marker_size)
この関数は、1個のIdマーカをシステムに登録して、検出可能にします。
|
int |
addNyIdMarker(long i_id_s,
long i_id_e,
double i_marker_size)
この関数は、1個の範囲を持つidマーカをシステムに登録して、検出可能にします。
|
int |
addPsARPlayCard(int i_id,
double i_marker_size)
この関数は、1個のARプレイマーカをシステムに登録して、検出可能にします。
|
int |
addPsARPlayCard(int i_id_s,
int i_id_e,
double i_marker_size)
この関数は、1個の範囲を持つARプレイマーカをシステムに登録して、検出可能にします。
|
double |
getConfidence(int i_id)
この関数は、ARマーカの最近の一致度を返します。
|
int |
getCurrentThreshold()
この関数は、現在の2値化敷居値を返します。
|
long |
getLife(int i_id)
この関数は、マーカのライフ値を返します。
|
long |
getLostCount(int i_id)
この関数は、マーカの消失カウンタの値を返します。
|
NyARDoubleMatrix44 |
getMarkerMatrix(int i_id)
この関数は、マーカの姿勢変換行列を返します。
|
INyARRgbRaster |
getMarkerPlaneImage(int i_id,
NyARSensor i_sensor,
double i_x1,
double i_y1,
double i_x2,
double i_y2,
double i_x3,
double i_y3,
double i_x4,
double i_y4,
INyARRgbRaster i_raster)
この関数は、マーカ平面上の任意の4点で囲まれる領域から、画像を射影変換して返します。
|
INyARRgbRaster |
getMarkerPlaneImage(int i_id,
NyARSensor i_sensor,
double i_l,
double i_t,
double i_w,
double i_h,
INyARRgbRaster i_raster)
この関数は、マーカ平面上の任意の矩形で囲まれる領域から、画像を射影変換して返します。
|
NyARDoublePoint3d |
getMarkerPlanePos(int i_id,
int i_x,
int i_y,
NyARDoublePoint3d i_out)
この関数は、スクリーン座標点をマーカ平面の点に変換します。
|
NyARIntPoint2d[] |
getMarkerVertex2D(int i_id)
この関数は、マーカの4頂点の、スクリーン上の二次元座標を返します。
|
long |
getNyId(int i_id)
この関数は、NyIdマーカのID値を返します。
|
NyARDoublePoint2d |
getScreenPos(int i_id,
double i_x,
double i_y,
double i_z,
NyARDoublePoint2d i_out)
この関数は、マーカ座標系の点をスクリーン座標へ変換します。
|
boolean |
isExistMarker(int i_id)
この関数は、 マーカIDに対応するマーカが検出されているかを返します。
|
void |
setBinThreshold(int i_th)
この関数は、2値化敷居値を設定します。
|
void |
setConfidenceThreshold(double i_val)
この関数は、ARマーカ検出の、敷居値を設定します。
|
void |
setLostDelay(int i_delay)
この関数は、消失時のディレイ値を指定します。
|
void |
update(NyARSensor i_sensor)
この関数は、入力したセンサ入力値から、インスタンスの状態を更新します。
|
addObserver, getARParam, getFrustum, setProjectionMatrixClipping
public static final int THLESHOLD_AUTO
public static final int LOST_DELAY_DEFAULT
public NyARMarkerSystem(INyARMarkerSystemConfig i_config) throws NyARException
INyARMarkerSystemConfig
を元に、インスタンスを生成します。i_config
- 初期化済のMarkerSystem
を指定します。NyARException
public int addNyIdMarker(long i_id, double i_marker_size) throws NyARException
i_id
- 登録するNyIdマーカのid値i_marker_size
- マーカの四方サイズ[mm]NyARException
public int addNyIdMarker(long i_id_s, long i_id_e, double i_marker_size) throws NyARException
i_id_s
- Id範囲の開始値i_id_e
- Id範囲の終了値i_marker_size
- マーカの四方サイズ[mm]NyARException
public int addPsARPlayCard(int i_id_s, int i_id_e, double i_marker_size) throws NyARException
i_id_s
- Id範囲の開始値 (1<=n<=6)i_id_e
- Id範囲の終了値 (1<=n<=6)i_marker_size
- マーカの四方サイズ[mm]NyARException
public int addPsARPlayCard(int i_id, double i_marker_size) throws NyARException
i_id
- PSARプレイマーカのID。1-6までの数値です。i_marker_size
- マーカの四方サイズ[mm]NyARException
public int addARMarker(NyARCode i_code, int i_patt_edge_percentage, double i_marker_size) throws NyARException
i_code
- 登録するマーカパターンオブジェクトi_patt_edge_percentage
- エッジ割合。ARToolkitと同じ場合は25を指定します。i_marker_size
- マーカの平方サイズ[mm]NyARException
public int addARMarker(java.io.InputStream i_stream, int i_patt_resolution, int i_patt_edge_percentage, double i_marker_size) throws NyARException
i_stream
- マーカデータを読み出すストリームi_patt_edge_percentage
- エッジ割合。ARToolkitと同じ場合は25を指定します。i_marker_size
- マーカの平方サイズ[mm]NyARException
public int addARMarker(java.lang.String i_file_name, int i_patt_resolution, int i_patt_edge_percentage, double i_marker_size) throws NyARException
i_stream
- マーカデータを読み出すストリームi_patt_edge_percentage
- エッジ割合。ARToolkitと同じ場合は25を指定します。i_marker_size
- マーカの平方サイズ[mm]NyARException
public int addARMarker(INyARRgbRaster i_raster, int i_patt_resolution, int i_patt_edge_percentage, double i_marker_size) throws NyARException
i_raster
- マーカ画像を格納したラスタオブジェクトi_patt_resolution
- マーカの解像度i_patt_edge_percentage
- マーカのエッジ領域のサイズ。マーカパターンは、i_rasterからエッジ領域を除いたパターンから生成します。
ARToolKitスタイルの画像を用いる場合は、25を指定します。i_marker_size
- マーカの平方サイズ[mm]NyARException
public boolean isExistMarker(int i_id) throws NyARException
i_id
- マーカID(ハンドル)値。NyARException
public double getConfidence(int i_id) throws NyARException
isExistMarker(int)
がtrueの時にだけ使用できます。
値は初期の一致度であり、トラッキング中は変動しません。i_id
- マーカID(ハンドル)値。NyARException
public long getNyId(int i_id) throws NyARException
i_id
- マーカID(ハンドル)値。NyARException
public int getCurrentThreshold()
public long getLife(int i_id) throws NyARException
i_id
- マーカID(ハンドル)値。NyARException
public long getLostCount(int i_id) throws NyARException
i_id
- マーカID(ハンドル)値。NyARException
public NyARDoublePoint3d getMarkerPlanePos(int i_id, int i_x, int i_y, NyARDoublePoint3d i_out) throws NyARException
isExistMarker(int)
がtrueの時にだけ使用できます。i_id
- マーカID(ハンドル)値。i_x
- 変換元のスクリーン座標i_y
- 変換元のスクリーン座標i_out
- 結果を格納するオブジェクトNyARException
public NyARDoublePoint2d getScreenPos(int i_id, double i_x, double i_y, double i_z, NyARDoublePoint2d i_out) throws NyARException
isExistMarker(int)
がtrueの時にだけ使用できます。i_id
- マーカID(ハンドル)値。i_x
- マーカ座標系のX座標i_y
- マーカ座標系のY座標i_z
- マーカ座標系のZ座標i_out
- 結果を格納するオブジェクトNyARException
public INyARRgbRaster getMarkerPlaneImage(int i_id, NyARSensor i_sensor, double i_x1, double i_y1, double i_x2, double i_y2, double i_x3, double i_y3, double i_x4, double i_y4, INyARRgbRaster i_raster) throws NyARException
isExistMarker(int)
がtrueの時にだけ使用できます。i_id
- マーカID(ハンドル)値。i_sensor
- 画像を取得するセンサオブジェクト。通常はupdate(NyARSensor)
関数に入力したものと同じものを指定します。i_x1
- 頂点1[mm]i_y1
- 頂点1[mm]i_x2
- 頂点2[mm]i_y2
- 頂点2[mm]i_x3
- 頂点3[mm]i_y3
- 頂点3[mm]i_x4
- 頂点4[mm]i_y4
- 頂点4[mm]i_raster
- 取得した画像を格納するオブジェクトNyARException
public INyARRgbRaster getMarkerPlaneImage(int i_id, NyARSensor i_sensor, double i_l, double i_t, double i_w, double i_h, INyARRgbRaster i_raster) throws NyARException
isExistMarker(int)
がtrueの時にだけ使用できます。i_id
- マーカID(ハンドル)値。i_sensor
- 画像を取得するセンサオブジェクト。通常はupdate(NyARSensor)
関数に入力したものと同じものを指定します。i_l
- 矩形の左上点です。i_t
- 矩形の左上点です。i_w
- 矩形の幅です。i_h
- 矩形の幅です。i_raster
- 出力先のオブジェクトNyARException
public NyARDoubleMatrix44 getMarkerMatrix(int i_id) throws NyARException
NyARException
public NyARIntPoint2d[] getMarkerVertex2D(int i_id) throws NyARException
i_id
- マーカID(ハンドル)値。NyARException
public void setBinThreshold(int i_th)
i_th
- 2値化敷居値。THLESHOLD_AUTO
を指定すると、自動調整になります。public void setConfidenceThreshold(double i_val)
i_val
- 敷居値。0.0<n<1.0の値を指定すること。public void setLostDelay(int i_delay)
LOST_DELAY_DEFAULT
です。
MarkerSystemは、ここで指定した回数を超えて連続でマーカを検出できないと、マーカが消失したと判定します。i_delay
- 回数を指定します。public void update(NyARSensor i_sensor) throws NyARException
i_sensor
- MarkerSystem
に入力する画像を含むセンサオブジェクト。NyARException