* 静止画から1個のHiroマーカを認識して、その姿勢変換行列、パターン一致率を得る動作を確認できます。\r
* 同時に、この処理を1000回実行して、処理時間を計測します。この数値は、NyARToolkitの基本性能の\r
* 指標として使うことができます。\r
+ * <p>必要なファイル - \r
+ * このプログラムの実行には、以下の外部ファイルが必要です。\r
+ * <ul>\r
+ * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル\r
+ * <li>patt.hiro - ARToolKit付属のHiroマーカのパターンファイル\r
+ * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像\r
+ * </ul>\r
*/\r
public class RawFileTest\r
{\r
\r
private final String camera_file = "../Data/camera_para.dat";\r
\r
+ /**\r
+ * コンストラクタです。\r
+ * ここでは処理を行いません。\r
+ */\r
public RawFileTest()\r
{\r
}\r
\r
-\r
+ /**\r
+ * この関数は、テスト関数の本体です。\r
+ * カメラ設定ファイル、ARマーカのパターン読出しを読み込み、試験イメージに対してマーカ検出を実行します。\r
+ * マーカ検出を1000回繰り返して、経過した時間をms単位で表示します。\r
+ * @throws Exception\r
+ */\r
public void Test_arDetectMarkerLite() throws Exception\r
{\r
// AR用カメラパラメタファイルをロード\r
System.out.println(d.getTime() - d2.getTime());\r
System.out.print( ar.getConfidence());\r
}\r
-\r
+ /**\r
+ * プログラムのエントリーポイントです。\r
+ * サンプルプログラム{@link RawFileTest}を実行します。\r
+ * @param args\r
+ * 引数はありません。\r
+ */\r
public static void main(String[] args)\r
{\r
\r
package jp.nyatla.nyartoolkit.test;\r
\r
\r
-import java.io.File;\r
import java.io.FileInputStream;\r
import java.util.Date;\r
\r
import jp.nyatla.nyartoolkit.core.param.NyARParam;\r
import jp.nyatla.nyartoolkit.core.types.NyARBufferType;\r
-import jp.nyatla.nyartoolkit.core.types.NyARDoublePoint3d;\r
-import jp.nyatla.nyartoolkit.detector.NyARSingleDetectMarker;\r
import jp.nyatla.nyartoolkit.rpf.reality.nyartk.NyARReality;\r
import jp.nyatla.nyartoolkit.rpf.reality.nyartk.NyARRealityTarget;\r
import jp.nyatla.nyartoolkit.rpf.realitysource.nyartk.NyARRealitySource;\r
* {@link NyARReality}が正常に動作するかを確認できます。\r
* また、{@link NyARReality#progress}を1000回実行して、処理時間を計測します。\r
* この数値は、{@link NyARReality}の基本性能の指標として使うことができます。\r
+ * <p>必要なファイル - \r
+ * このプログラムの実行には、以下の外部ファイルが必要です。\r
+ * <ul>\r
+ * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル\r
+ * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像\r
+ * </ul>\r
+ * </p>\r
*/\r
public class RpfTest\r
{\r
/**\r
* メイン関数です。\r
* 次のフローで処理を実行します。\r
+ * <ol>\r
+ * <li>{@link NyARParam}にカメラパラメタを読み込み。QVGAサイズに再設定。\r
+ * <li>{@link NyARReality}オブジェクトの生成。歪み補正はなし。\r
+ * <li>{@link NyARRealitySource_Reference}オブジェクトの生成。フォーマットは、{@link NyARBufferType#BYTE1D_B8G8R8X8_32}\r
+ * <li>{@link NyARRealitySource_Reference}オブジェクトに、{@link #DATA_FILE}の内容を書き込み。\r
+ * <li>{@link NyARReality#progress}を1000回実行。処理時間を出力。\r
+ * <li>0番目のUnknowntargetをKnownターゲットにして、姿勢行列を計算して表示。\r
+ * </ol>\r
* @param args\r
+ * 引数は必要ありません。\r
*/\r
public static void main(String[] args)\r
{\r
import jp.nyatla.nyartoolkit.core.transmat.*;\r
import jp.nyatla.nyartoolkit.core.*;\r
import jp.nyatla.nyartoolkit.processor.*;\r
-\r
+/**\r
+ * このプログラムは、NyIdマーカ検出クラス{@link SingleARMarkerProcesser}の動作チェックプログラムです。\r
+ * 静止画から1個のhiroマーカを認識する動作を確認できます。\r
+ * \r
+ * このプログラムには結果を表示する機能がありません。\r
+ * 数値の確認は、ブレークポイントを仕掛けるなどして行ってください。\r
+ * <p>必要なファイル - \r
+ * このプログラムの実行には、以下の外部ファイルが必要です。\r
+ * <ul>\r
+ * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル\r
+ * <li>patt.hiro - ARToolKit付属のHiroマーカのパターンファイル\r
+ * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像\r
+ * </ul>\r
+ * </p>\r
+ */\r
public class SingleARMarkerTest\r
{\r
class MarkerProcessor extends SingleARMarkerProcesser\r
private Object _sync_object=new Object();\r
public NyARTransMatResult transmat=null;\r
public int current_code=-1;\r
-\r
+ /**\r
+ * コンストラクタです。\r
+ * パラメータを{@link #initInstance}へセットして初期化します。\r
+ * ここでは、{@link #initInstance}へ値を引き渡すだけです。\r
+ * @param i_cparam\r
+ * カメラパラメータ。\r
+ * @param i_raster_format\r
+ * 入力ラスタのフォーマット。\r
+ * @throws Exception\r
+ */\r
public MarkerProcessor(NyARParam i_cparam,int i_raster_format) throws NyARException\r
{\r
//アプリケーションフレームワークの初期化\r
initInstance(i_cparam,i_raster_format);\r
return;\r
}\r
+ /**\r
+ * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+ * 画像にマーカが現われたときに呼び出されます。\r
+ * ここでは、例として、マーカのインデクス番号を保存する処理をしています。\r
+ */ \r
protected void onEnterHandler(int i_code)\r
{\r
synchronized(this._sync_object){\r
}\r
System.out.println("Marker Number:"+i_code);\r
}\r
+ /**\r
+ * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+ * 画像からマーカが消え去った時に呼び出されます。\r
+ * ここでは、マーカが消えた場合の後始末処理をします。\r
+ * このサンプルでは、メンバ変数をリセットしています。\r
+ */ \r
protected void onLeaveHandler()\r
{\r
synchronized(this._sync_object){\r
}\r
return; \r
}\r
-\r
+ /**\r
+ * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+ * 画像中のマーカの位置が変化したときに呼び出されます。\r
+ * この関数は、{@link #onEnterHandler}直後に呼び出されることもあります。\r
+ * \r
+ * このサンプルでは、引数で通知されたマーカの姿勢を、メンバ変数に保存しています。\r
+ */\r
protected void onUpdateHandler(NyARSquare i_square, NyARTransMatResult result)\r
{\r
synchronized(this._sync_object){\r
private final static String CARCODE_FILE = "../Data/patt.hiro";\r
private final static String PARAM_FILE = "../Data/camera_para.dat"; \r
private final String data_file = "../Data/320x240ABGR.raw";\r
-\r
+ /**\r
+ * コンストラクタです。\r
+ * ここで行う処理はありません。\r
+ */\r
public SingleARMarkerTest()\r
{\r
}\r
+ /**\r
+ * テスト関数の本体です。\r
+ * 設定ファイル、サンプル画像の読み込んだのちに、1種類のマーカを登録した{@link MarkerProcessor}を生成し、\r
+ * 1回だけ画像を入力して、マーカ検出を試行します。\r
+ * @throws Exception\r
+ */ \r
public void Test() throws Exception\r
{\r
//AR用カメラパラメタファイルをロード\r
pr.detectMarker(ra);\r
return;\r
}\r
+ /**\r
+ * プログラムのエントリーポイントです。\r
+ * サンプルプログラム{@link NyIdTest}を実行します。\r
+ * @param args\r
+ * 引数はありません。\r
+ */ \r
public static void main(String[] args)\r
{\r
-\r
try {\r
SingleARMarkerTest t = new SingleARMarkerTest();\r
// t.Test_arGetVersion();\r