NyARToolkit for Android v2.x, 3.x mainline.
master: NyARToolkit core.
android-1.6: for Android 1.6. obsolete version.
android-2.2: for Android 2.2. current version.
Revision | 221b8322b7c33ff351b91a7b5d35b22504c98efc (tree) |
---|---|
Time | 2011-04-05 18:44:10 |
Author | nyatla <nyatla@7cac...> |
Commiter | Atsuo Igarashi |
git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit/trunk@809 7cac0a50-4618-4814-88d0-24b83990f816
@@ -45,7 +45,14 @@ import jp.nyatla.nyartoolkit.processor.*; | ||
45 | 45 | * 静止画から1個のIDマーカを読み取り、その数値を得る動作を確認できます。 |
46 | 46 | * |
47 | 47 | * このプログラムには結果を表示する機能がありません。 |
48 | - * 数値の確認は、ブレークポイントを仕掛けるなどして行ってください。 | |
48 | + * 数値の確認は、ブレークポイントを仕掛けるなどしてください。 | |
49 | + * <p>必要なファイル - | |
50 | + * このプログラムの実行には、以下の外部ファイルが必要です。 | |
51 | + * <ul> | |
52 | + * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル | |
53 | + * <li>320x240NyId.raw - Idマーカを撮影した、QVGAサイズのR8G8B8形式のサンプル画像 | |
54 | + * </ul> | |
55 | + * </p> | |
49 | 56 | */ |
50 | 57 | public class NyIdTest |
51 | 58 | { |
@@ -45,6 +45,13 @@ import jp.nyatla.nyartoolkit.core.types.*; | ||
45 | 45 | * 静止画から1個のHiroマーカを認識して、その姿勢変換行列、パターン一致率を得る動作を確認できます。 |
46 | 46 | * 同時に、この処理を1000回実行して、処理時間を計測します。この数値は、NyARToolkitの基本性能の |
47 | 47 | * 指標として使うことができます。 |
48 | + * <p>必要なファイル - | |
49 | + * このプログラムの実行には、以下の外部ファイルが必要です。 | |
50 | + * <ul> | |
51 | + * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル | |
52 | + * <li>patt.hiro - ARToolKit付属のHiroマーカのパターンファイル | |
53 | + * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像 | |
54 | + * </ul> | |
48 | 55 | */ |
49 | 56 | public class RawFileTest |
50 | 57 | { |
@@ -54,11 +61,20 @@ public class RawFileTest | ||
54 | 61 | |
55 | 62 | private final String camera_file = "../Data/camera_para.dat"; |
56 | 63 | |
64 | + /** | |
65 | + * コンストラクタです。 | |
66 | + * ここでは処理を行いません。 | |
67 | + */ | |
57 | 68 | public RawFileTest() |
58 | 69 | { |
59 | 70 | } |
60 | 71 | |
61 | - | |
72 | + /** | |
73 | + * この関数は、テスト関数の本体です。 | |
74 | + * カメラ設定ファイル、ARマーカのパターン読出しを読み込み、試験イメージに対してマーカ検出を実行します。 | |
75 | + * マーカ検出を1000回繰り返して、経過した時間をms単位で表示します。 | |
76 | + * @throws Exception | |
77 | + */ | |
62 | 78 | public void Test_arDetectMarkerLite() throws Exception |
63 | 79 | { |
64 | 80 | // AR用カメラパラメタファイルをロード |
@@ -100,7 +116,12 @@ public class RawFileTest | ||
100 | 116 | System.out.println(d.getTime() - d2.getTime()); |
101 | 117 | System.out.print( ar.getConfidence()); |
102 | 118 | } |
103 | - | |
119 | + /** | |
120 | + * プログラムのエントリーポイントです。 | |
121 | + * サンプルプログラム{@link RawFileTest}を実行します。 | |
122 | + * @param args | |
123 | + * 引数はありません。 | |
124 | + */ | |
104 | 125 | public static void main(String[] args) |
105 | 126 | { |
106 | 127 |
@@ -1,14 +1,11 @@ | ||
1 | 1 | package jp.nyatla.nyartoolkit.test; |
2 | 2 | |
3 | 3 | |
4 | -import java.io.File; | |
5 | 4 | import java.io.FileInputStream; |
6 | 5 | import java.util.Date; |
7 | 6 | |
8 | 7 | import jp.nyatla.nyartoolkit.core.param.NyARParam; |
9 | 8 | import jp.nyatla.nyartoolkit.core.types.NyARBufferType; |
10 | -import jp.nyatla.nyartoolkit.core.types.NyARDoublePoint3d; | |
11 | -import jp.nyatla.nyartoolkit.detector.NyARSingleDetectMarker; | |
12 | 9 | import jp.nyatla.nyartoolkit.rpf.reality.nyartk.NyARReality; |
13 | 10 | import jp.nyatla.nyartoolkit.rpf.reality.nyartk.NyARRealityTarget; |
14 | 11 | import jp.nyatla.nyartoolkit.rpf.realitysource.nyartk.NyARRealitySource; |
@@ -25,6 +22,13 @@ import jp.nyatla.nyartoolkit.rpf.realitysource.nyartk.NyARRealitySource_Referenc | ||
25 | 22 | * {@link NyARReality}が正常に動作するかを確認できます。 |
26 | 23 | * また、{@link NyARReality#progress}を1000回実行して、処理時間を計測します。 |
27 | 24 | * この数値は、{@link NyARReality}の基本性能の指標として使うことができます。 |
25 | + * <p>必要なファイル - | |
26 | + * このプログラムの実行には、以下の外部ファイルが必要です。 | |
27 | + * <ul> | |
28 | + * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル | |
29 | + * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像 | |
30 | + * </ul> | |
31 | + * </p> | |
28 | 32 | */ |
29 | 33 | public class RpfTest |
30 | 34 | { |
@@ -35,7 +39,16 @@ public class RpfTest | ||
35 | 39 | /** |
36 | 40 | * メイン関数です。 |
37 | 41 | * 次のフローで処理を実行します。 |
42 | + * <ol> | |
43 | + * <li>{@link NyARParam}にカメラパラメタを読み込み。QVGAサイズに再設定。 | |
44 | + * <li>{@link NyARReality}オブジェクトの生成。歪み補正はなし。 | |
45 | + * <li>{@link NyARRealitySource_Reference}オブジェクトの生成。フォーマットは、{@link NyARBufferType#BYTE1D_B8G8R8X8_32} | |
46 | + * <li>{@link NyARRealitySource_Reference}オブジェクトに、{@link #DATA_FILE}の内容を書き込み。 | |
47 | + * <li>{@link NyARReality#progress}を1000回実行。処理時間を出力。 | |
48 | + * <li>0番目のUnknowntargetをKnownターゲットにして、姿勢行列を計算して表示。 | |
49 | + * </ol> | |
38 | 50 | * @param args |
51 | + * 引数は必要ありません。 | |
39 | 52 | */ |
40 | 53 | public static void main(String[] args) |
41 | 54 | { |
@@ -40,7 +40,21 @@ import jp.nyatla.nyartoolkit.core.squaredetect.NyARSquare; | ||
40 | 40 | import jp.nyatla.nyartoolkit.core.transmat.*; |
41 | 41 | import jp.nyatla.nyartoolkit.core.*; |
42 | 42 | import jp.nyatla.nyartoolkit.processor.*; |
43 | - | |
43 | +/** | |
44 | + * このプログラムは、NyIdマーカ検出クラス{@link SingleARMarkerProcesser}の動作チェックプログラムです。 | |
45 | + * 静止画から1個のhiroマーカを認識する動作を確認できます。 | |
46 | + * | |
47 | + * このプログラムには結果を表示する機能がありません。 | |
48 | + * 数値の確認は、ブレークポイントを仕掛けるなどして行ってください。 | |
49 | + * <p>必要なファイル - | |
50 | + * このプログラムの実行には、以下の外部ファイルが必要です。 | |
51 | + * <ul> | |
52 | + * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル | |
53 | + * <li>patt.hiro - ARToolKit付属のHiroマーカのパターンファイル | |
54 | + * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像 | |
55 | + * </ul> | |
56 | + * </p> | |
57 | + */ | |
44 | 58 | public class SingleARMarkerTest |
45 | 59 | { |
46 | 60 | class MarkerProcessor extends SingleARMarkerProcesser |
@@ -48,7 +62,16 @@ public class SingleARMarkerTest | ||
48 | 62 | private Object _sync_object=new Object(); |
49 | 63 | public NyARTransMatResult transmat=null; |
50 | 64 | public int current_code=-1; |
51 | - | |
65 | + /** | |
66 | + * コンストラクタです。 | |
67 | + * パラメータを{@link #initInstance}へセットして初期化します。 | |
68 | + * ここでは、{@link #initInstance}へ値を引き渡すだけです。 | |
69 | + * @param i_cparam | |
70 | + * カメラパラメータ。 | |
71 | + * @param i_raster_format | |
72 | + * 入力ラスタのフォーマット。 | |
73 | + * @throws Exception | |
74 | + */ | |
52 | 75 | public MarkerProcessor(NyARParam i_cparam,int i_raster_format) throws NyARException |
53 | 76 | { |
54 | 77 | //アプリケーションフレームワークの初期化 |
@@ -56,6 +79,11 @@ public class SingleARMarkerTest | ||
56 | 79 | initInstance(i_cparam,i_raster_format); |
57 | 80 | return; |
58 | 81 | } |
82 | + /** | |
83 | + * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。 | |
84 | + * 画像にマーカが現われたときに呼び出されます。 | |
85 | + * ここでは、例として、マーカのインデクス番号を保存する処理をしています。 | |
86 | + */ | |
59 | 87 | protected void onEnterHandler(int i_code) |
60 | 88 | { |
61 | 89 | synchronized(this._sync_object){ |
@@ -63,6 +91,12 @@ public class SingleARMarkerTest | ||
63 | 91 | } |
64 | 92 | System.out.println("Marker Number:"+i_code); |
65 | 93 | } |
94 | + /** | |
95 | + * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。 | |
96 | + * 画像からマーカが消え去った時に呼び出されます。 | |
97 | + * ここでは、マーカが消えた場合の後始末処理をします。 | |
98 | + * このサンプルでは、メンバ変数をリセットしています。 | |
99 | + */ | |
66 | 100 | protected void onLeaveHandler() |
67 | 101 | { |
68 | 102 | synchronized(this._sync_object){ |
@@ -71,7 +105,13 @@ public class SingleARMarkerTest | ||
71 | 105 | } |
72 | 106 | return; |
73 | 107 | } |
74 | - | |
108 | + /** | |
109 | + * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。 | |
110 | + * 画像中のマーカの位置が変化したときに呼び出されます。 | |
111 | + * この関数は、{@link #onEnterHandler}直後に呼び出されることもあります。 | |
112 | + * | |
113 | + * このサンプルでは、引数で通知されたマーカの姿勢を、メンバ変数に保存しています。 | |
114 | + */ | |
75 | 115 | protected void onUpdateHandler(NyARSquare i_square, NyARTransMatResult result) |
76 | 116 | { |
77 | 117 | synchronized(this._sync_object){ |
@@ -82,10 +122,19 @@ public class SingleARMarkerTest | ||
82 | 122 | private final static String CARCODE_FILE = "../Data/patt.hiro"; |
83 | 123 | private final static String PARAM_FILE = "../Data/camera_para.dat"; |
84 | 124 | private final String data_file = "../Data/320x240ABGR.raw"; |
85 | - | |
125 | + /** | |
126 | + * コンストラクタです。 | |
127 | + * ここで行う処理はありません。 | |
128 | + */ | |
86 | 129 | public SingleARMarkerTest() |
87 | 130 | { |
88 | 131 | } |
132 | + /** | |
133 | + * テスト関数の本体です。 | |
134 | + * 設定ファイル、サンプル画像の読み込んだのちに、1種類のマーカを登録した{@link MarkerProcessor}を生成し、 | |
135 | + * 1回だけ画像を入力して、マーカ検出を試行します。 | |
136 | + * @throws Exception | |
137 | + */ | |
89 | 138 | public void Test() throws Exception |
90 | 139 | { |
91 | 140 | //AR用カメラパラメタファイルをロード |
@@ -110,9 +159,14 @@ public class SingleARMarkerTest | ||
110 | 159 | pr.detectMarker(ra); |
111 | 160 | return; |
112 | 161 | } |
162 | + /** | |
163 | + * プログラムのエントリーポイントです。 | |
164 | + * サンプルプログラム{@link NyIdTest}を実行します。 | |
165 | + * @param args | |
166 | + * 引数はありません。 | |
167 | + */ | |
113 | 168 | public static void main(String[] args) |
114 | 169 | { |
115 | - | |
116 | 170 | try { |
117 | 171 | SingleARMarkerTest t = new SingleARMarkerTest(); |
118 | 172 | // t.Test_arGetVersion(); |