OSDN Git Service

d1b84f3b0c545a5add57e45ee3f4e04ec3369430
[nyartoolkit-and/nyartoolkit-and.git] / src / jp / nyatla / nyartoolkit / sample / RawFileTest.java
1 /* \r
2  * PROJECT: NyARToolkit\r
3  * --------------------------------------------------------------------------------\r
4  *\r
5  * The NyARToolkit is Java version ARToolkit class library.\r
6  * Copyright (C)2008 R.Iizuka\r
7  *\r
8  * This program is free software; you can redistribute it and/or\r
9  * modify it under the terms of the GNU General Public License\r
10  * as published by the Free Software Foundation; either version 2\r
11  * of the License, or (at your option) any later version.\r
12  * \r
13  * This program is distributed in the hope that it will be useful,\r
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
16  * GNU General Public License for more details.\r
17  * \r
18  * You should have received a copy of the GNU General Public License\r
19  * along with this framework; if not, write to the Free Software\r
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
21  * \r
22  * For further information please contact.\r
23  *      http://nyatla.jp/nyatoolkit/\r
24  *      <airmail(at)ebony.plala.or.jp>\r
25  * \r
26  */\r
27 package jp.nyatla.nyartoolkit.sample;\r
28 \r
29 \r
30 import java.io.*;\r
31 import java.util.*;\r
32 \r
33 import jp.nyatla.nyartoolkit.core.*;\r
34 import jp.nyatla.nyartoolkit.core.raster.*;\r
35 import jp.nyatla.nyartoolkit.detector.*;\r
36 \r
37 /**\r
38  * 320x240のBGRA32で記録されたRAWイメージから、1種類のパターンを認識し、\r
39  * その変換行列を求めます。\r
40  * \r
41  * @author R.iizuka\r
42  *\r
43  */\r
44 public class RawFileTest {\r
45     private final String code_file  ="../Data/patt.hiro";\r
46     private final String data_file  ="../Data/320x240ABGR.raw";\r
47     private final String camera_file="../Data/camera_para.dat";\r
48     public RawFileTest()\r
49     {\r
50     }\r
51     public void Test_arDetectMarkerLite() throws Exception\r
52     {\r
53         //AR用カメラパラメタファイルをロード\r
54         NyARParam ap    =new NyARParam();\r
55         ap.loadFromARFile(camera_file);\r
56         ap.changeSize(320,240);\r
57         \r
58         //AR用のパターンコードを読み出し  \r
59         NyARCode code=new NyARCode(16,16);\r
60         code.loadFromARFile(code_file);\r
61         \r
62         //試験イメージの読み出し(320x240 BGRAのRAWデータ)\r
63         File f=new File(data_file);\r
64         FileInputStream fs=new FileInputStream(data_file);\r
65         byte[] buf=new byte[(int)f.length()];\r
66         fs.read(buf);\r
67         NyARRaster_BGRA ra=NyARRaster_BGRA.wrap(buf, 320, 240);\r
68         //              Blank_Raster ra=new Blank_Raster(320, 240);\r
69         \r
70         //1パターンのみを追跡するクラスを作成\r
71         NyARSingleDetectMarker ar=new NyARSingleDetectMarker(ap,code,80.0);\r
72     \r
73         //マーカーを検出\r
74         Date d2=new Date();\r
75         for(int i=0;i<100;i++){\r
76             ar.detectMarkerLite(ra,100);\r
77             //変換行列を取得\r
78             double[][] tm=ar.getTransmationMatrix().getArray();\r
79         }\r
80         Date d=new Date();\r
81         System.out.println(d.getTime()-d2.getTime()); \r
82     }\r
83     public static void main(String[] args)\r
84     {\r
85         \r
86         try{\r
87                 RawFileTest t=new RawFileTest();\r
88                 //t.Test_arGetVersion();\r
89                 t.Test_arDetectMarkerLite();\r
90         }catch(Exception e){\r
91                 e.printStackTrace();\r
92         }\r
93     }\r
94         \r
95 }\r