public class MultiNft extends NyARPsgBaseClass
cameraview, FRUSTUM_DEFAULT_FAR_CLIP, FRUSTUM_DEFAULT_NEAR_CLIP, VERSION
コンストラクタと説明 |
---|
MultiNft(processing.core.PApplet parent,
int i_width,
int i_height,
double[] i_intrinsic_matrix,
double[] i_distortion_coeffs,
int i_screen_width,
int i_screen_height)
コンストラクタです。
|
MultiNft(processing.core.PApplet parent,
int i_width,
int i_height,
java.lang.String i_cparam_file)
コンストラクタです。
|
MultiNft(processing.core.PApplet parent,
int i_width,
int i_height,
java.lang.String i_cparam_file,
NyAR4PsgConfig i_config)
コンストラクタです。
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
addNftTarget(java.lang.String i_file_name_prefix)
この関数は、NFTファイルセットからNFTターゲットを生成して登録します。
|
int |
addNftTarget(java.lang.String i_file_name_prefix,
float i_target_width)
この関数は、NFTファイルセットからNFTターゲットを生成して登録します。
|
int |
addNftTarget(java.lang.String i_file_name_prefix,
int i_page_no,
float i_target_width)
この関数は、NFTファイルセットからNFTターゲットを生成して登録します。
|
void |
beginTransform(int i_id)
この関数は、ProcessingのProjectionMatrixとModelview行列に指定idのマーカ平面にセットします。
|
void |
detect(processing.core.PImage i_image)
この関数は、画像からマーカーの検出処理を実行します。
|
void |
detect(processing.core.PImage i_image,
boolean i_with_loadpixels)
この関数は、画像からマーカーの検出処理を実行します。
|
void |
detect(PImageSensor i_source_image)
PImageSensor の内容でインスタンスを更新します。 |
void |
dispose()
Processing callback function
インスタンスが起動したマルチスレッドを終了時に停止します。
|
void |
endTransform()
この関数は、
beginTransform(int) でセットしたProjectionとModelViewを元に戻します。 |
processing.core.PMatrix3D |
getMatrix(int i_id)
この関数は、マーカの姿勢行列を返します。
|
processing.core.PMatrix3D |
getTargetMatrix(int i_id)
非推奨です。
|
boolean |
isExist(int i_id)
指定idのターゲットが有効かを返します。
|
boolean |
isExistTarget(int i_id)
非推奨です。
|
processing.core.PVector |
object2ScreenCoordSystem(int i_id,
double i_x,
double i_y,
double i_z)
この関数は、idで示されるマーカ座標系の点をスクリーン座標へ変換します。
|
processing.core.PImage |
pickupImage(int i_id,
int i_x1,
int i_y1,
int i_x2,
int i_y2,
int i_x3,
int i_y3,
int i_x4,
int i_y4,
int i_out_w_pix,
int i_out_h_pix)
この関数は、idで指定したマーカの画像のXY平面上の4頂点でかこまれた領域から、画像を取得します。
|
processing.core.PImage |
pickupRectImage(int i_id,
int i_l,
int i_t,
int i_w,
int i_h,
int i_out_w_pix,
int i_out_h_pix)
この関数は、idで指定したマーカのXY平面上の矩形領域から、画像を取得します。
|
processing.core.PImage |
pickupRectTargetImage(int i_id,
int i_l,
int i_t,
int i_w,
int i_h,
int i_out_w_pix,
int i_out_h_pix)
非推奨です。
|
processing.core.PImage |
pickupTargetImage(int i_id,
int i_x1,
int i_y1,
int i_x2,
int i_y2,
int i_x3,
int i_y3,
int i_x4,
int i_y4,
int i_out_w_pix,
int i_out_h_pix)
非推奨です。
|
processing.core.PVector |
screen2ObjectCoordSystem(int i_id,
int i_x,
int i_y)
この関数は、スクリーン座標をidで指定したマーカ平面座標へ変換して返します。
|
processing.core.PVector |
screen2TargetCoordSystem(int i_id,
int i_x,
int i_y)
非推奨です。
|
processing.core.PVector |
target2ScreenCoordSystem(int i_id,
double i_x,
double i_y,
double i_z)
非推奨です。
|
drawBackground, getProjectionMatrix, setARClipping, setARPerspective, setBackgroundOrtho, setPerspective
public MultiNft(processing.core.PApplet parent, int i_width, int i_height, java.lang.String i_cparam_file, NyAR4PsgConfig i_config)
parent
- 親となるAppletオブジェクトを指定します。i_cparam_file
- ARToolKitフォーマットのカメラパラメータファイルの名前を指定します。i_width
- 入力画像の横解像度を指定します。通常、キャプチャ画像のサイズを指定します。i_height
- 入力画像の横解像度を指定します。通常、キャプチャ画像のサイズを指定します。i_config
- コンフィギュレーションオブジェクトを指定します。jp.nyatla.nyartoolkit.core.NyARRuntimeException
public MultiNft(processing.core.PApplet parent, int i_width, int i_height, java.lang.String i_cparam_file)
MultiNft(PApplet, int, int, String, NyAR4PsgConfig)
のコンフィギュレーションに、NyAR4PsgConfig#CONFIG_DEFAULT
を指定した物と同じです。parent
- MultiNft(PApplet, int, int, String, NyAR4PsgConfig)
を参照。i_width
- 入力画像の横解像度を指定します。通常、キャプチャ画像のサイズを指定します。i_height
- 入力画像の横解像度を指定します。通常、キャプチャ画像のサイズを指定します。i_cparam_file
- MultiNft(PApplet, int, int, String, NyAR4PsgConfig)
を参照。jp.nyatla.nyartoolkit.core.NyARRuntimeException
public MultiNft(processing.core.PApplet parent, int i_width, int i_height, double[] i_intrinsic_matrix, double[] i_distortion_coeffs, int i_screen_width, int i_screen_height)
i_width
- カメラパラメータのサイズ値i_height
- カメラパラメータのサイズ値i_intrinsic_matrix
- 3x3 matrix
このパラメータは、OpenCVのcvCalibrateCamera2関数が出力するintrinsic_matrixの値と合致します。i_distortion_coeffs
- 4x1 matrix
このパラメータは、OpenCVのcvCalibrateCamera2関数が出力するdistortion_coeffsの値と合致します。i_screen_width
- 入力画像の横解像度を指定します。通常、キャプチャ画像のサイズを指定します。i_screen_height
- 入力画像の横解像度を指定します。通常、キャプチャ画像のサイズを指定します。public void beginTransform(int i_id)
endTransform()
とペアで使ってください。
関数を実行すると、現在のModelView行列とProjection行列を退避した後に、新しい行列がセットされます。
これらを復帰するには、endTransform()
を使います。
復帰するまでの間は、再度beginTransform(int)
を使うことはできません。
i_id
- マーカidを指定します。public void endTransform()
beginTransform(int)
でセットしたProjectionとModelViewを元に戻します。
必ずbeginTransform(int)
とペアで使ってください。
public void detect(processing.core.PImage i_image)
PImage.loadPixels()
を実行します。
PImage.loadPixels()
のタイミングをコントロールしたい場合は、#detectWithoutLoadPixels
を使用してください。i_image
- 検出処理を行う画像を指定します。public void detect(processing.core.PImage i_image, boolean i_with_loadpixels)
detect(PImage)
を参照してください。i_image
- 検出処理を行う画像を指定します。i_with_loadpixels
- PImage.loadPixels()
を実行するかのフラグ値です。detect(PImage)
public void detect(PImageSensor i_source_image)
PImageSensor
の内容でインスタンスを更新します。
他のインスタンスで処理したPImageSensor
を使うことができます。i_source_image
- public int addNftTarget(java.lang.String i_file_name_prefix, int i_page_no, float i_target_width)
i_file_name_prefix
- NFTファイルセットの名前を指定します。名前は拡張子を取り除いてください。
例えば"d:\\test"は、"test.iset","test.fset","test.fset3"のファイルセットを登録します。i_page_no
- fset3のページ番号を指定します。i_target_width
- NFTパターンの横幅をmm単位で指定します。addNftTarget(java.lang.String, int, float)
関数を呼ぶたびにインクリメントされます。
getMatrix(int)
,isExistTarget(int)
,addNftTarget(java.lang.String, int, float)
,
#screen2CoordSystem
,pickupTargetImage(int, int, int, int, int, int, int, int, int, int, int)
,pickupRectTargetImage(int, int, int, int, int, int, int)
のid値に使います。public int addNftTarget(java.lang.String i_file_name_prefix, float i_target_width)
addNftTarget(String, int, float)
の第二引数に0を設定したものと同じです。i_file_name_prefix
- addNftTarget(String, int, float)
を参照してください。i_target_width
- addNftTarget(String, int, float)
を参照してください。addNftTarget(String, int, float)
を参照してください。public int addNftTarget(java.lang.String i_file_name_prefix)
addNftTarget(String, int, float)
の第二引数に0,第三引数にNaNを設定したものと同じです。i_file_name_prefix
- #addARMarker(String, int, int, double)
を参照。public processing.core.PMatrix3D getMatrix(int i_id)
PApplet.setMatrix(processing.core.PMatrix)
でProcessingにセットできます。i_armk_id
- マーカidを指定します。public boolean isExist(int i_id)
i_id
- マーカidを指定します。public processing.core.PVector object2ScreenCoordSystem(int i_id, double i_x, double i_y, double i_z)
i_id
- マーカidを指定します。i_x
- マーカ座標系のX座標i_y
- マーカ座標系のY座標i_z
- マーカ座標系のZ座標public processing.core.PVector screen2ObjectCoordSystem(int i_id, int i_x, int i_y)
i_id
- マーカidを指定します。i_x
- スクリーン座標を指定します。i_y
- スクリーン座標を指定します。public processing.core.PImage pickupImage(int i_id, int i_x1, int i_y1, int i_x2, int i_y2, int i_x3, int i_y3, int i_x4, int i_y4, int i_out_w_pix, int i_out_h_pix)
detect(processing.core.PImage)
関数に入力した画像を使います。
座標点は、[mm]単位です。出力解像度はo_outの解像度に伸縮します。
座標点の指定順序は、右手系#CS_RIGHT_HAND
なら右上から反時計回りです。
座標点の指定順序は、左手系#CS_LEFT_HAND
なら左上から時計回りです。i_id
- マーカIdを指定します。i_x1
- 頂点座標1です。i_y1
- 頂点座標1です。i_x2
- 頂点座標2です。i_y2
- 頂点座標2です。i_x3
- 頂点座標3です。i_y3
- 頂点座標3です。i_x4
- 頂点座標4です。i_y4
- 頂点座標4です。i_out_w_pix
- 出力画像のピクセル幅です。i_out_h_pix
- 出力画像のピクセル高さです。public processing.core.PImage pickupRectImage(int i_id, int i_l, int i_t, int i_w, int i_h, int i_out_w_pix, int i_out_h_pix)
i_id
- 画像を指定します。i_l
- 左上の点を指定します。i_t
- 左上の点を指定します。i_w
- 矩形の幅を指定します。i_h
- 矩形の高さを指定します。i_out_w_pix
- 出力画像のピクセル幅です。i_out_h_pix
- 出力画像のピクセル高さです。@Deprecated public boolean isExistTarget(int i_id)
isExist(int)
のエイリアスです。i_id
- @Deprecated public processing.core.PMatrix3D getTargetMatrix(int i_id)
getMatrix(int)
のエイリアスです。i_id
- @Deprecated public processing.core.PImage pickupTargetImage(int i_id, int i_x1, int i_y1, int i_x2, int i_y2, int i_x3, int i_y3, int i_x4, int i_y4, int i_out_w_pix, int i_out_h_pix)
@Deprecated public processing.core.PImage pickupRectTargetImage(int i_id, int i_l, int i_t, int i_w, int i_h, int i_out_w_pix, int i_out_h_pix)
@Deprecated public processing.core.PVector screen2TargetCoordSystem(int i_id, int i_x, int i_y)
@Deprecated public processing.core.PVector target2ScreenCoordSystem(int i_id, double i_x, double i_y, double i_z)
public void dispose()