From: nyatla Date: Wed, 11 Nov 2009 08:50:44 +0000 (+0000) Subject: [backup]NyARToolkit for Java X-Git-Tag: 2.4.1~11 X-Git-Url: http://git.osdn.net/view?p=nyartoolkit-and%2Fnyartoolkit-and.git;a=commitdiff_plain;h=ecef40904c2c7bf8af0678567fa325143970e9cc [backup]NyARToolkit for Java histgram解析機能を追加 --- diff --git a/src/jp/nyatla/nyartoolkit/core/analyzer/histgram/NyARHistgramAnalyzer_DiscriminantThreshold.java b/src/jp/nyatla/nyartoolkit/core/analyzer/histgram/NyARHistgramAnalyzer_DiscriminantThreshold.java index 244c05f..993ba55 100644 --- a/src/jp/nyatla/nyartoolkit/core/analyzer/histgram/NyARHistgramAnalyzer_DiscriminantThreshold.java +++ b/src/jp/nyatla/nyartoolkit/core/analyzer/histgram/NyARHistgramAnalyzer_DiscriminantThreshold.java @@ -13,6 +13,7 @@ public class NyARHistgramAnalyzer_DiscriminantThreshold implements INyARHistgram { private double _score; + public int getThreshold(NyARHistgram i_histgram) { int[] hist=i_histgram.data; diff --git a/src/jp/nyatla/nyartoolkit/core/analyzer/raster/NyARRasterAnalyzer_Histgram.java b/src/jp/nyatla/nyartoolkit/core/analyzer/raster/NyARRasterAnalyzer_Histgram.java index a7a9c11..920cb8d 100644 --- a/src/jp/nyatla/nyartoolkit/core/analyzer/raster/NyARRasterAnalyzer_Histgram.java +++ b/src/jp/nyatla/nyartoolkit/core/analyzer/raster/NyARRasterAnalyzer_Histgram.java @@ -73,6 +73,7 @@ public class NyARRasterAnalyzer_Histgram for (int i = o_histgram.length-1; i >=0; i--){ h[i] = 0; } + o_histgram.total_of_data=size.w*size.h; return this._histImpl.createHistgram(i_input.getBufferReader(), size,h,this._vertical_skip); } diff --git a/src/jp/nyatla/nyartoolkit/core/rasterfilter/gs2bin/NyARRasterFilter_ConstantThrshold.java b/src/jp/nyatla/nyartoolkit/core/rasterfilter/gs2bin/NyARRasterFilter_ConstantThrshold.java index f5c7c80..986872c 100644 --- a/src/jp/nyatla/nyartoolkit/core/rasterfilter/gs2bin/NyARRasterFilter_ConstantThrshold.java +++ b/src/jp/nyatla/nyartoolkit/core/rasterfilter/gs2bin/NyARRasterFilter_ConstantThrshold.java @@ -14,6 +14,10 @@ public class NyARRasterFilter_ConstantThrshold implements INyARRasterFilter_Gs2B //初期化 this._threshold=i_initial_threshold; } + public NyARRasterFilter_ConstantThrshold() throws NyARException + { + this._threshold=0; + } public void setThreshold(int i_threshold) diff --git a/src/jp/nyatla/nyartoolkit/core/types/NyARHistgram.java b/src/jp/nyatla/nyartoolkit/core/types/NyARHistgram.java index 6373a84..1188630 100644 --- a/src/jp/nyatla/nyartoolkit/core/types/NyARHistgram.java +++ b/src/jp/nyatla/nyartoolkit/core/types/NyARHistgram.java @@ -10,7 +10,7 @@ public class NyARHistgram */ public int[] data; /** - * 有効なサンプリング値の範囲。[0-i_length-1] + * 有効なサンプリング値の範囲。[0-data.length-1] */ public int length; /** @@ -39,4 +39,31 @@ public class NyARHistgram } return result; } + /** + * 指定したi_pos未満サンプルを0にします。 + * @param i_pos + */ + public void lowCut(int i_pos) + { + int s=0; + for(int i=0;i=i_pos;i--){ + s+=this.data[i]; + this.data[i]=0; + } + this.total_of_data-=s; + } + } diff --git a/src/jp/nyatla/utils/j2se/NyARRasterImageIO.java b/src/jp/nyatla/utils/j2se/NyARRasterImageIO.java index 165cbf0..2144c70 100644 --- a/src/jp/nyatla/utils/j2se/NyARRasterImageIO.java +++ b/src/jp/nyatla/utils/j2se/NyARRasterImageIO.java @@ -30,11 +30,14 @@ */ package jp.nyatla.utils.j2se; +import java.awt.Graphics.*; import java.awt.image.*; +import java.awt.*; import jp.nyatla.nyartoolkit.*; import jp.nyatla.nyartoolkit.core.raster.rgb.*; import jp.nyatla.nyartoolkit.core.raster.*; import jp.nyatla.nyartoolkit.core.rasterreader.*; +import jp.nyatla.nyartoolkit.core.types.*; /** * BufferdImageとRasterイメージ間で、ビットマップをコピーします。 @@ -106,6 +109,28 @@ public class NyARRasterImageIO return; } /** + * ヒストグラムを書き出します。 + * @param i_in + * @param o_out + * @throws NyARException + */ + public static void copy(NyARHistgram i_in,Graphics i_g,int i_l,int i_t,int i_h) throws NyARException + { + //正規化のための定数を出す。 + int max=0; + for(int i=0;i