チェンジセット 3708
- コミット日時:
- 2010/04/06 22:46:02 (2 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/FLARToolKit/trunk/src/examples/PV3DARApp.as
r3344 r3708 30 30 import flash.events.Event; 31 31 32 import org.libspark.flartoolkit.core.analyzer.raster.threshold.FLARRasterThresholdAnalyzer_SlidePTile; 32 33 import org.libspark.flartoolkit.core.transmat.FLARTransMatResult; 33 34 import org.libspark.flartoolkit.support.pv3d.FLARBaseNode; … … 37 38 import org.papervision3d.view.Viewport3D; 38 39 39 import examples.ARAppBase;40 41 40 public class PV3DARApp extends ARAppBase { 41 /** 42 * @see flash.display.Sprite 43 */ 44 protected var _base:Sprite; 42 45 43 protected var _base:Sprite; 46 /** 47 * @see org.papervision3d.view.Viewport3D 48 */ 44 49 protected var _viewport:Viewport3D; 50 51 /** 52 * @see org.libspark.flartoolkit.support.pv3d.FLARCamera3D 53 */ 45 54 protected var _camera3d:FLARCamera3D; 55 56 /** 57 * @see org.papervision3d.scenes.Scene3D 58 */ 46 59 protected var _scene:Scene3D; 60 61 /** 62 * @see org.papervision3d.render.LazyRenderEngine 63 */ 47 64 protected var _renderer:LazyRenderEngine; 65 66 /** 67 * @see org.libspark.flartoolkit.support.pv3d.FLARBaseNode 68 */ 48 69 protected var _markerNode:FLARBaseNode; 49 70 71 /** 72 * @see org.libspark.flartoolkit.core.transmat.FLARTransMatResult 73 */ 50 74 protected var _resultMat:FLARTransMatResult = new FLARTransMatResult(); 51 75 76 /** 77 * 画像二値化の際のしきい値 78 * 固定値で使用する場合は、使用場所を想定して値を設定してください。 79 * 認識に差が生じます。 80 */ 81 private var _threshold:int = 110; 82 83 /** 84 * しきい値の自動調整用のクラス 85 * @see org.libspark.flartoolkit.core.analyzer.raster.threshold.FLARRasterThresholdAnalyzer_SlidePTile 86 */ 87 private var _threshold_detect:FLARRasterThresholdAnalyzer_SlidePTile; 88 89 /** 90 * Constructor 91 */ 52 92 public function PV3DARApp() { 53 93 } … … 77 117 _renderer = new LazyRenderEngine(_scene, _camera3d, _viewport); 78 118 119 this._threshold_detect=new FLARRasterThresholdAnalyzer_SlidePTile(15,4); 120 79 121 addEventListener(Event.ENTER_FRAME, _onEnterFrame); 80 122 } … … 85 127 var detected:Boolean = false; 86 128 try { 87 detected = _detector.detectMarkerLite(_raster, 80) && _detector.getConfidence() > 0.5;129 detected = _detector.detectMarkerLite(_raster, _threshold) && _detector.getConfidence() > 0.5; 88 130 } catch (e:Error) {} 89 131 … … 94 136 } else { 95 137 _markerNode.visible = false; 138 // マーカがなければ、探索+DualPTailで基準輝度検索 139 // マーカーが見つからない場合、処理が重くなるので状況に応じてコメントアウトすると良い 140 var th:int=this._threshold_detect.analyzeRaster(_raster); 141 this._threshold=(this._threshold+th)/2; 142 // trace("[threshold] : " + this._threshold); 96 143 } 97 98 144 _renderer.render(); 99 145 }

