パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## jp.nyatla.nyar4psg
クラス SingleARTKMarker

    java.lang.Object
      jp.nyatla.nyar4psg.SingleARTKMarker

    public class SingleARTKMarker

extends java.lang.Object

このクラスは、１個のARToolKitマーカを認識することができます。 入力画像から、事前に登録したパターンに最も一致するマーカ1個を認識して、 その座標と認識したマーカの番号を出力します。
EN: -

作成者:
  nyatla

フィールドの概要
`processing.core.PVector` | `angle` マーカのx,y,zの傾き角度です。
`static int` | `CS_LEFT` LeftHand座標系であることを示します。
`static int` | `CS_RIGHT` RightHand座標系であることを示します。
`int` | `markerid` 検出したマーカのIDを示します。
`int[][]` | `pos2d` 検出したマーカの4隅の２次元画像上の位置です。
`double[]` | `projection` OpenGLスタイルのProjectionMatrixです。
`static int` | `ST_NEWMARKER` detectの返すステータス値です。
`static int` | `ST_NOMARKER` detectの返すステータス値です。
`static int` | `ST_REMOVEMARKER` detectの返すステータス値です。
`static int` | `ST_UPDATEMARKER` detectの返すステータス値です。
`processing.core.PVector` | `trans` マーカのx,y,zの平行移動量です。
`double[]` | `transmat` 検出したマーカの変換行列です。
`java.lang.String` | `VERSION` バージョン文字列です。

コンストラクタの概要
`SingleARTKMarker(processing.core.PApplet parent, int i_width, int i_height, java.lang.String i_cparam, int i_projection_coord_system)` インスタンスを作成します。

メソッドの概要
`void` | `beginTransform(processing.opengl.PGraphicsOpenGL i_pgl)` 座標変換を実行したMatrixを準備します。
`int` | `detect(processing.core.PImage i_image)` 画像から、マーカの認識処理を行い、プロパティを更新します。
`void` | `endTransform()` beginTransformによる座標変換を解除して元に戻します。
`void` | `setARCodes(java.lang.String[] i_patt_names, int i_patt_size)` 複数のマーカを登録します。
`void` | `setARCodes(java.lang.String i_patt_name, int i_patt_size)` 1個のマーカを登録します。
`void` | `setConfidenceThreshold(double i_new_cf, double i_exist_cf)` 認識処理を行うマーカの一致度を指定します。

クラス java.lang.Object から継承されたメソッド
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### ST_NOMARKER

    public static final int ST_NOMARKER

  detectの返すステータス値です。
  EN: -

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

### ST_NEWMARKER

    public static final int ST_NEWMARKER

  detectの返すステータス値です。
  EN: -

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

### ST_UPDATEMARKER

    public static final int ST_UPDATEMARKER

  detectの返すステータス値です。
  EN: -

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

### ST_REMOVEMARKER

    public static final int ST_REMOVEMARKER

  detectの返すステータス値です。
  EN: -

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

### markerid

    public int markerid

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

### angle

    public processing.core.PVector angle

  マーカのx,y,zの傾き角度です。
  EN: The angle value in radian unit of "x,y,z" .

### trans

    public processing.core.PVector trans

  マーカのx,y,zの平行移動量です。
  EN: The translation value in radian unit of "x,y,z".

### pos2d

    public int[][] pos2d

  検出したマーカの4隅の２次元画像上の位置です。
  EN: The position of 4 corner of marker.

### transmat

    public double[] transmat

  検出したマーカの変換行列です。
  EN: The transform matrix of detected marker.

### CS_RIGHT

    public static final int CS_RIGHT

  RightHand座標系であることを示します。 この値はコンストラクタで使います。
  EN: -

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

### CS_LEFT

    public static final int CS_LEFT

  LeftHand座標系であることを示します。 この値はコンストラクタで使います。
  EN: -

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

### VERSION

    public final java.lang.String VERSION

  バージョン文字列です。
  EN: version string.

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

### projection

    public final double[] projection

  OpenGLスタイルのProjectionMatrixです。
  EN: OpenGL form projection matrix.

コンストラクタの詳細

### SingleARTKMarker

    public SingleARTKMarker(processing.core.PApplet parent,
                            int i_width,
                            int i_height,
                            java.lang.String i_cparam,
                            int i_projection_coord_system)

  インスタンスを作成します。
  EN: -

  パラメータ:
    `parent` -
    EN: -
    `i_width` -
    EN: -
    `i_height` -
    EN: -
    `i_cparam` -
    EN: -
    `i_projection_coord_system` -
    EN: -

メソッドの詳細

### setARCodes

    public void setARCodes(java.lang.String i_patt_name,
                           int i_patt_size)

  1個のマーカを登録します。detect関数を呼び出す前に、1度だけ呼び出してください。
  EN: -

  パラメータ:
    `i_patt_name` - マーカパターンの名前を指定します。マーカーのIDは、0になります。
    EN: -
    `i_patt_size` - マーカのサイズをmm単位で指定します。
    EN: -

### setARCodes

    public void setARCodes(java.lang.String[] i_patt_names,
                           int i_patt_size)

  複数のマーカを登録します。detect関数を呼び出す前に、1度だけ呼び出してください。
  EN: -

  パラメータ:
    `i_patt_names` - マーカパターンの名前配列を指定します。配列の先頭から、マーカーのIDは、0,1,2...の順になります。
    EN: -
    `i_patt_size` - マーカのサイズをmm単位で指定します。
    EN: -

### setConfidenceThreshold

    public void setConfidenceThreshold(double i_new_cf,
                                       double i_exist_cf)

  認識処理を行うマーカの一致度を指定します。
  EN: -

  パラメータ:
    `i_new_cf` - 初めてマーカを認識するときの敷居値を指定します。値範囲は、0<<n<100です。
    EN: -
    `i_exist_cf` - 連続してマーカを認識するときの敷居値を指定します。値範囲は、0<<n<100です。 i_new_cfより低い値を指定してください。
    EN: -

### detect

    public int detect(processing.core.PImage i_image)

  画像から、マーカの認識処理を行い、プロパティを更新します。 認識処理の結果は、戻り値にステータスコードで格納します。
  EN: -

  パラメータ:
    `i_image` -
    EN: -
  戻り値:
    ステータスコードを返します。

         ST_NOMARKER:
         マーカが認識されていない事を示します。
         マーカパラメータのメンバ変数は使用不可能です。

         ST_NEWMARKER:
         マーカが発見された事を示します。
         transmat,angle,trans,markeridメンバ変数が利用可能です。

         ST_UPDATEMARKER:
         マーカ座標が更新されたことを示します。
         transmat,angle,trans,markeridメンバ変数が利用可能です。

         ST_REMOVEMARKER:
         マーカが消失したことを示します。
         マーカパラメータのメンバ変数は使用不可能です。

    EN: -

### beginTransform

    public void beginTransform(processing.opengl.PGraphicsOpenGL i_pgl)

  座標変換を実行したMatrixを準備します。 この関数を実行すると、processingの座標系がマーカ表面に設定されます。 描画終了後には、必ずendTransform関数を呼び出して座標系を戻してください。
  EN: This function sets corresponding transform matrix to the surface of the marker to OpenGL. The coordinate system of processing moves to the surface of the marker when this function is executed. Must return the coordinate system by using endTransform function at the end.

  パラメータ:
    `i_pgl` - PGraphicsOpenGLインスタンスを設定します。processingのgメンバをキャストして設定してください。
    EN: Specify PGraphicsOpenGL instance. Set cast "g" member of processing graphics object.

### endTransform

    public void endTransform()

  beginTransformによる座標変換を解除して元に戻します。
  EN: This function recover coordinate system that was changed by beginTransform function.

パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド