OSDN Git Service

[バックアップ]NyARToolkit/branches/nyatla
authornyatla <nyatla@7cac0a50-4618-4814-88d0-24b83990f816>
Fri, 8 Aug 2008 09:26:05 +0000 (09:26 +0000)
committernyatla <nyatla@7cac0a50-4618-4814-88d0-24b83990f816>
Fri, 8 Aug 2008 09:26:05 +0000 (09:26 +0000)
git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit@118 7cac0a50-4618-4814-88d0-24b83990f816

branches/nyatla/src/jp/nyatla/nyartoolkit/core/NyARObservSize.java [new file with mode: 0644]
branches/nyatla/src/jp/nyatla/nyartoolkit/core/NyMono256Raster.java [new file with mode: 0644]

diff --git a/branches/nyatla/src/jp/nyatla/nyartoolkit/core/NyARObservSize.java b/branches/nyatla/src/jp/nyatla/nyartoolkit/core/NyARObservSize.java
new file mode 100644 (file)
index 0000000..8fca2ce
--- /dev/null
@@ -0,0 +1,12 @@
+package jp.nyatla.nyartoolkit.core;\r
+\r
+public class NyARObservSize\r
+{\r
+    public int w;\r
+    public int h;\r
+    public NyARObservSize(int i_w,int i_h)\r
+    {\r
+       this.w=i_w;\r
+       this.h=i_h;\r
+    }\r
+}\r
diff --git a/branches/nyatla/src/jp/nyatla/nyartoolkit/core/NyMono256Raster.java b/branches/nyatla/src/jp/nyatla/nyartoolkit/core/NyMono256Raster.java
new file mode 100644 (file)
index 0000000..6d41328
--- /dev/null
@@ -0,0 +1,61 @@
+package jp.nyatla.nyartoolkit.core;\r
+\r
+import jp.nyatla.nyartoolkit.core.raster.*;\r
+/**\r
+ * \r
+ * @author nyatla\r
+ *     モノクロ256段階ラスタデータ保持クラス\r
+ */\r
+public class NyMono256Raster\r
+{\r
+    private NyARRaster _related_raster;\r
+    private int[][] _pixcels;\r
+    private int[]   _average;\r
+    private int _width;\r
+    private int _height;\r
+    public void NyMono256Raster(int i_width,int i_height)\r
+    {\r
+       this._pixcels=new int[i_height][];\r
+       this._height=i_height;\r
+       this._width=i_width;\r
+\r
+    }\r
+    /**\r
+     * 連携するラスタオブジェクトを指定する。\r
+     * @param i_raster\r
+     */\r
+    public void SetRelatedRaster(NyARRaster i_raster)\r
+    {\r
+       //新しいラスタをセット\r
+       this._related_raster=i_raster;\r
+       //キャッシュしている情報を無効化\r
+       this._pixcels=new int[this._height][];\r
+       this._average=new int[this._height];\r
+    }\r
+    \r
+    public int[] GetLine(int i_line_no)\r
+    {\r
+       int[] line=this._pixcels[i_line_no];\r
+       if(line==null){\r
+           //ラインを作る。\r
+           line=new int[this._width];\r
+           this._related_raster.getPixelTotalRowLine(i_line_no,line);\r
+           this._pixcels[i_line_no]=line;\r
+           //平均値の計算\r
+           int ave=0;\r
+           for(int i=this._width-1;i>=0;i++){\r
+               ave+=line[i];\r
+           }\r
+           this._average[i_line_no]=ave/this._width;\r
+       }\r
+       return line;\r
+    }\r
+    public int GetLineAverage(int i_line_no)\r
+    {\r
+       if(this._pixcels[i_line_no]==null){\r
+           this.GetLine(i_line_no);\r
+       }\r
+       return this._average[i_line_no];\r
+    }\r
+    \r
+}\r