チェンジセット 4089

差分発生行の前後
無視リスト:
コミット日時:
2010/07/10 10:46:08 (2 年前)
コミッタ:
rokubou
ログメッセージ:

解析できるサイズ規制機能を追加

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/FLARToolKit/trunk/src/examples/FLARTK_Example_Multiple_SimpleCube_PV3D.as

    r4053 r4089  
    329329                        // 継続認識モード発動 
    330330                        this.detector.setContinueMode(true); 
     331                         
     332                        // 解析サイズ制限 
     333                        // this.detector.setAreaRange( 40000, 900); 
     334                         
    331335                        // しきい値調整 
    332336                        this._threshold_detect=new FLARRasterThresholdAnalyzer_SlidePTile(15,4); 
  • as3/FLARToolKit/trunk/src/examples/FLARTK_Example_Single_SimpleCube_PV3D.as

    r3784 r4089  
    292292                        // 継続認識モード発動 
    293293                        this.detector.setContinueMode(true); 
     294                         
     295                        // 解析サイズ制限 
     296                        // this.detector.setAreaRange( 40000, 900); 
     297                         
    294298                        // しきい値調整 
    295299                        this._threshold_detect=new FLARRasterThresholdAnalyzer_SlidePTile(15,4); 
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/labeling/fllabeling/FLARLabeling.as

    r3402 r4089  
    2929package org.libspark.flartoolkit.core.labeling.fllabeling 
    3030{ 
    31         import org.libspark.flartoolkit.core.types.*; 
    32         import org.libspark.flartoolkit.core.raster.*; 
    33         import org.libspark.flartoolkit.*; 
    34         import jp.nyatla.nyartoolkit.as3.core.labeling.*; 
    35         import jp.nyatla.nyartoolkit.as3.core.raster.*; 
    36         import jp.nyatla.nyartoolkit.as3.core.labeling.rlelabeling.*; 
    37          
    38  
    3931        import flash.display.BitmapData; 
    4032        import flash.geom.Point; 
    4133        import flash.geom.Rectangle; 
     34         
     35        import jp.nyatla.nyartoolkit.as3.core.labeling.*; 
     36        import jp.nyatla.nyartoolkit.as3.core.labeling.rlelabeling.*; 
     37        import jp.nyatla.nyartoolkit.as3.core.raster.*; 
     38         
     39        import org.libspark.flartoolkit.*; 
     40        import org.libspark.flartoolkit.core.raster.*; 
     41        import org.libspark.flartoolkit.core.types.*; 
    4242 
    4343        public class FLARLabeling 
     
    4949                private static const ONE_POINT:Point = new Point(1, 1); 
    5050                 
    51             private var hSearch:BitmapData; 
    52             private var hLineRect:Rectangle; 
     51               private var hSearch:BitmapData; 
     52               private var hLineRect:Rectangle; 
    5353                private var _tmp_bmp:BitmapData; 
     54                 
     55                private var areaMax:int; 
     56                private var areaMin:int; 
     57                 
    5458                public function FLARLabeling(i_width:int,i_height:int) 
    5559                { 
    5660                        this._tmp_bmp = new BitmapData(i_width, i_height, false,0x00); 
    5761                        this.hSearch = new BitmapData(i_width, 1, false, 0x000000); 
    58                         this.hLineRect = new Rectangle(0, 0, 1, 1);                      
     62                        this.hLineRect = new Rectangle(0, 0, 1, 1); 
     63                        this.setAreaRange(AR_AREA_MAX, AR_AREA_MIN); 
    5964                        return; 
    6065                } 
    61  
     66                 
     67                /** 
     68                 * 白領域の検査対象サイズ 
     69                 *  最大サイズは 一辺約320px、最小サイズは 一辺約 8px まで解析対象としている 
     70                 *  解析画像中で上記範囲内であれば解析対象となるが、最小サイズは小さすぎて意味をなさない。 
     71                 *   
     72                 * @param i_max 解析対象とする白領域の最大pixel数(一辺の二乗) 
     73                 * @param i_min 解析対象とする白領域の最小pixel数(一辺の二乗) 
     74                 */ 
     75                public function setAreaRange(i_max:int, i_min:int):void 
     76                { 
     77                        this.areaMax=i_max; 
     78                        this.areaMin=i_min; 
     79                } 
     80                 
    6281                public function labeling(i_bin_raster:NyARBinRaster,o_stack:NyARRleLabelFragmentInfoStack):int 
    6382                { 
     
    87106                                        var area:int = labelRect.width * labelRect.height; 
    88107                                        //エリア規制 
    89                                         if (area <= AR_AREA_MAX && area >= AR_AREA_MIN){ 
     108                                        if (area <= this.areaMax && area >= this.areaMin){ 
    90109                                                label.area = area; 
    91110                                                label.clip_l = labelRect.left; 
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/squaredetect/FLARSquareContourDetector.as

    r3879 r4089  
    7070                        this._stack=new NyARRleLabelFragmentInfoStack(i_size.w*i_size.h*2048/(320*240)+32);//検出可能な最大ラベル数 
    7171                         
    72  
    7372                        // 輪郭の最大長は画面に映りうる最大の長方形サイズ。 
    7473                        var number_of_coord:int= (this._width + this._height) * 2; 
     
    8079                        return; 
    8180                } 
    82  
     81                 
     82                /** 
     83                 * 白領域の検査対象サイズ 
     84                 *  最大サイズは 一辺約320px、最小サイズは 一辺約 8px まで解析対象としている 
     85                 *  解析画像中で上記範囲内であれば解析対象となるが、最小サイズは小さすぎて意味をなさない。 
     86                 *   
     87                 * @param i_max 解析対象とする白領域の最大pixel数(一辺の二乗) 
     88                 * @param i_min 解析対象とする白領域の最小pixel数(一辺の二乗) 
     89                 */ 
     90                public function setAreaRange(i_max:int, i_min:int):void 
     91                { 
     92                        this._labeling.setAreaRange(i_max, i_min); 
     93                } 
     94                 
    8395                private var __detectMarker_mkvertex:Vector.<int> = new Vector.<int>(4); 
    8496                 
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARMultiMarkerDetector.as

    r3879 r4089  
    5959                public static const AR_SQUARE_MAX:int = 300; 
    6060                private var _is_continue:Boolean = false; 
    61                 private var _square_detect:NyARSquareContourDetector; 
     61                private var _square_detect:FLARSquareContourDetector; 
    6262                protected var _transmat:INyARTransMat; 
    6363                private var _offset:Vector.<NyARRectOffset>; 
     
    230230                        return this._detect_cb.result_stack.getItem(i_index).square; 
    231231                } 
    232  
     232                 
    233233                /** 
    234234                 * getTransmationMatrixの計算モードを設定します。 
     
    241241                        this._is_continue = i_is_continue; 
    242242                } 
     243                 
     244                /** 
     245                 * 白領域の検査対象サイズ 
     246                 *  最大サイズは 一辺約320px、最小サイズは 一辺約 8px まで解析対象としている 
     247                 *  解析画像中で上記範囲内であれば解析対象となるが、最小サイズは小さすぎて意味をなさない。 
     248                 *  マーカー内部の判別には一辺30px~230pxとするのが妥当。 
     249                 *  640x480で取り込む場合は、i_maxを縦サイズの二乗を設定するべし 
     250                 *   
     251                 * @param i_max 解析対象とする白領域の最大pixel数(一辺の二乗) default: 100000 
     252                 * @param i_min 解析対象とする白領域の最小pixel数(一辺の二乗) default: 70 
     253                 */ 
     254                public function setAreaRange(i_max:int, i_min:int=70):void 
     255                { 
     256                        this._square_detect.setAreaRange( i_max, i_min); 
     257                } 
     258                 
    243259                /** 
    244260                 * 2値化した画像を返却します。 
  • as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARSingleMarkerDetector.as

    r3879 r4089  
    202202                 
    203203                /** 
     204                 * 白領域の検査対象サイズ 
     205                 *  最大サイズは 一辺約320px、最小サイズは 一辺約 8px まで解析対象としている 
     206                 *  解析画像中で上記範囲内であれば解析対象となるが、最小サイズは小さすぎて意味をなさない。 
     207                 *  マーカー内部の判別には一辺30px~230pxとするのが妥当。 
     208                 *  640x480で取り込む場合は、i_maxを縦サイズの二乗を設定するべし 
     209                 *   
     210                 * @param i_max 解析対象とする白領域の最大pixel数(一辺の二乗) default: 100000 
     211                 * @param i_min 解析対象とする白領域の最小pixel数(一辺の二乗) default: 70 
     212                 */ 
     213                public function setAreaRange(i_max:int, i_min:int=70):void 
     214                { 
     215                        this._square_detect.setAreaRange( i_max, i_min); 
     216                } 
     217                 
     218                /** 
    204219                 * 2値化した画像を返却します。 
    205220                 *