チェンジセット 4089
- コミット日時:
- 2010/07/10 10:46:08 (2 年前)
- ファイル:
-
- as3/FLARToolKit/trunk/src/examples/FLARTK_Example_Multiple_SimpleCube_PV3D.as (更新) (1 diff)
- as3/FLARToolKit/trunk/src/examples/FLARTK_Example_Single_SimpleCube_PV3D.as (更新) (1 diff)
- as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/labeling/fllabeling/FLARLabeling.as (更新) (3 diffs)
- as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/squaredetect/FLARSquareContourDetector.as (更新) (2 diffs)
- as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARMultiMarkerDetector.as (更新) (3 diffs)
- as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARSingleMarkerDetector.as (更新) (1 diff)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/FLARToolKit/trunk/src/examples/FLARTK_Example_Multiple_SimpleCube_PV3D.as
r4053 r4089 329 329 // 継続認識モード発動 330 330 this.detector.setContinueMode(true); 331 332 // 解析サイズ制限 333 // this.detector.setAreaRange( 40000, 900); 334 331 335 // しきい値調整 332 336 this._threshold_detect=new FLARRasterThresholdAnalyzer_SlidePTile(15,4); as3/FLARToolKit/trunk/src/examples/FLARTK_Example_Single_SimpleCube_PV3D.as
r3784 r4089 292 292 // 継続認識モード発動 293 293 this.detector.setContinueMode(true); 294 295 // 解析サイズ制限 296 // this.detector.setAreaRange( 40000, 900); 297 294 298 // しきい値調整 295 299 this._threshold_detect=new FLARRasterThresholdAnalyzer_SlidePTile(15,4); as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/labeling/fllabeling/FLARLabeling.as
r3402 r4089 29 29 package org.libspark.flartoolkit.core.labeling.fllabeling 30 30 { 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 39 31 import flash.display.BitmapData; 40 32 import flash.geom.Point; 41 33 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.*; 42 42 43 43 public class FLARLabeling … … 49 49 private static const ONE_POINT:Point = new Point(1, 1); 50 50 51 private var hSearch:BitmapData;52 private var hLineRect:Rectangle;51 private var hSearch:BitmapData; 52 private var hLineRect:Rectangle; 53 53 private var _tmp_bmp:BitmapData; 54 55 private var areaMax:int; 56 private var areaMin:int; 57 54 58 public function FLARLabeling(i_width:int,i_height:int) 55 59 { 56 60 this._tmp_bmp = new BitmapData(i_width, i_height, false,0x00); 57 61 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); 59 64 return; 60 65 } 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 62 81 public function labeling(i_bin_raster:NyARBinRaster,o_stack:NyARRleLabelFragmentInfoStack):int 63 82 { … … 87 106 var area:int = labelRect.width * labelRect.height; 88 107 //エリア規制 89 if (area <= AR_AREA_MAX && area >= AR_AREA_MIN){108 if (area <= this.areaMax && area >= this.areaMin){ 90 109 label.area = area; 91 110 label.clip_l = labelRect.left; as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/core/squaredetect/FLARSquareContourDetector.as
r3879 r4089 70 70 this._stack=new NyARRleLabelFragmentInfoStack(i_size.w*i_size.h*2048/(320*240)+32);//検出可能な最大ラベル数 71 71 72 73 72 // 輪郭の最大長は画面に映りうる最大の長方形サイズ。 74 73 var number_of_coord:int= (this._width + this._height) * 2; … … 80 79 return; 81 80 } 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 83 95 private var __detectMarker_mkvertex:Vector.<int> = new Vector.<int>(4); 84 96 as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARMultiMarkerDetector.as
r3879 r4089 59 59 public static const AR_SQUARE_MAX:int = 300; 60 60 private var _is_continue:Boolean = false; 61 private var _square_detect: NyARSquareContourDetector;61 private var _square_detect:FLARSquareContourDetector; 62 62 protected var _transmat:INyARTransMat; 63 63 private var _offset:Vector.<NyARRectOffset>; … … 230 230 return this._detect_cb.result_stack.getItem(i_index).square; 231 231 } 232 232 233 233 /** 234 234 * getTransmationMatrixの計算モードを設定します。 … … 241 241 this._is_continue = i_is_continue; 242 242 } 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 243 259 /** 244 260 * 2値化した画像を返却します。 as3/FLARToolKit/trunk/src/org/libspark/flartoolkit/detector/FLARSingleMarkerDetector.as
r3879 r4089 202 202 203 203 /** 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 /** 204 219 * 2値化した画像を返却します。 205 220 *

