チェンジセット 4106

差分発生行の前後
無視リスト:
コミット日時:
2010/07/18 06:24:33 (2 年前)
コミッタ:
ericsoco
ログメッセージ:

minor changes with long descriptions:

FLARSingle/MultiMarkerDetector.setAreaRange() should refer directly to default values in FLARLabeling. changes to allow this:
- made FLARLabeling.AR_AREA_MAX/MIN constants public
- set FLARLabeling.AR_AREA_MAX/MIN as default values for parameters to FLARSingle/MultiMarkerDetector.setAreaRange()

also, added code to FLARMultiMarkerDetector.detectMarkerLite() that allows FLARToolkit's internal thresholding algorithm to be skipped, so developers can implement their own thresholding algorithms.

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/labeling/fllabeling/FLARLabeling.as

    r4089 r4106  
    4343        public class FLARLabeling 
    4444        { 
    45                 private static const AR_AREA_MAX:int = 100000;// #define AR_AREA_MAX 100000 
    46                 private static const AR_AREA_MIN:int = 70;// #define AR_AREA_MIN 70 
     45                public static const AR_AREA_MAX:int = 100000;// #define AR_AREA_MAX 100000 
     46                public static const AR_AREA_MIN:int = 70;// #define AR_AREA_MIN 70 
    4747                 
    4848                private static const ZERO_POINT:Point = new Point(); 
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARMultiMarkerDetector.as

    r4089 r4106  
    3030{ 
    3131        import flash.display.BitmapData; 
     32        import flash.geom.Point; 
    3233         
    3334        import jp.nyatla.nyartoolkit.as3.NyARException; 
     
    4243         
    4344        import org.libspark.flartoolkit.core.FLARCode; 
     45        import org.libspark.flartoolkit.core.labeling.fllabeling.FLARLabeling; 
    4446        import org.libspark.flartoolkit.core.param.FLARParam; 
    4547        import org.libspark.flartoolkit.core.raster.FLARBinRaster; 
     
    155157 
    156158                        // ラスタを2値イメージに変換する. 
    157                         (FLARRasterFilter_Threshold(this._tobin_filter)).setThreshold(i_threshold); 
    158                         this._tobin_filter.doFilter(i_raster, this._bin_raster); 
     159                        // SOC: threshold incoming image according to brightness. 
     160                        //              passing -1 for threshold allows developers to apply custom thresholding algorithms 
     161                        //              prior to passing source image to FLARToolkit. 
     162                        if (i_threshold != -1) { 
     163                                // apply FLARToolkit thresholding 
     164                                (FLARRasterFilter_Threshold(this._tobin_filter)).setThreshold(i_threshold); 
     165                                this._tobin_filter.doFilter(i_raster, this._bin_raster); 
     166                        } else { 
     167                                // copy source BitmapData as-is, without applying FLARToolkit thresholding 
     168                                var srcBitmapData:BitmapData = BitmapData(i_raster.getBuffer()); 
     169                                var dstBitmapData:BitmapData = BitmapData(FLARBinRaster(this._bin_raster).getBuffer()); 
     170                                dstBitmapData.copyPixels(srcBitmapData, srcBitmapData.rect, new Point()); 
     171                        } 
    159172 
    160173                        //detect 
     
    252265                 * @param i_min 解析対象とする白領域の最小pixel数(一辺の二乗) default: 70 
    253266                 */ 
    254                 public function setAreaRange(i_max:int, i_min:int=70):void 
     267                public function setAreaRange(i_max:int=FLARLabeling.AR_AREA_MAX, i_min:int=FLARLabeling.AR_AREA_MIN):void 
    255268                { 
    256269                        this._square_detect.setAreaRange( i_max, i_min); 
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARSingleMarkerDetector.as

    r4089 r4106  
    3030{ 
    3131        import flash.display.*; 
     32         
    3233        import jp.nyatla.nyartoolkit.as3.core.match.*; 
    3334        import jp.nyatla.nyartoolkit.as3.core.pickup.*; 
     35        import jp.nyatla.nyartoolkit.as3.core.raster.*; 
     36        import jp.nyatla.nyartoolkit.as3.core.raster.rgb.*; 
     37        import jp.nyatla.nyartoolkit.as3.core.rasterfilter.rgb2bin.*; 
     38        import jp.nyatla.nyartoolkit.as3.core.rasterreader.*; 
    3439        import jp.nyatla.nyartoolkit.as3.core.squaredetect.*; 
    3540        import jp.nyatla.nyartoolkit.as3.core.transmat.*; 
    36         import jp.nyatla.nyartoolkit.as3.core.raster.*; 
    37         import jp.nyatla.nyartoolkit.as3.core.raster.rgb.*; 
    38         import jp.nyatla.nyartoolkit.as3.core.rasterreader.*; 
    39         import jp.nyatla.nyartoolkit.as3.core.rasterfilter.rgb2bin.*; 
    4041        import jp.nyatla.nyartoolkit.as3.core.types.*; 
     42         
     43        import org.libspark.flartoolkit.*; 
     44        import org.libspark.flartoolkit.core.*; 
     45        import org.libspark.flartoolkit.core.labeling.fllabeling.FLARLabeling; 
     46        import org.libspark.flartoolkit.core.param.*; 
    4147        import org.libspark.flartoolkit.core.raster.*; 
     48        import org.libspark.flartoolkit.core.raster.rgb.*; 
    4249        import org.libspark.flartoolkit.core.rasterfilter.rgb2bin.*; 
    4350        import org.libspark.flartoolkit.core.squaredetect.*; 
    44         import org.libspark.flartoolkit.core.*; 
    45         import org.libspark.flartoolkit.*; 
    46         import org.libspark.flartoolkit.core.param.*; 
    47         import org.libspark.flartoolkit.core.raster.rgb.*; 
    4851        import org.libspark.flartoolkit.core.transmat.*; 
     52 
    4953        public class FLARSingleMarkerDetector 
    5054        {        
     
    211215                 * @param i_min 解析対象とする白領域の最小pixel数(一辺の二乗) default: 70 
    212216                 */ 
    213                 public function setAreaRange(i_max:int, i_min:int=70):void 
     217                public function setAreaRange(i_max:int=FLARLabeling.AR_AREA_MAX, i_min:int=FLARLabeling.AR_AREA_MIN):void 
    214218                { 
    215219                        this._square_detect.setAreaRange( i_max, i_min);