複数のマーカーを検出し、それぞれに最も一致するARコードを、コンストラクタで登録したARコードから 探すクラスです。最大300個を認識しますが、ゴミラベルを認識したりするので100個程度が限界です。
protected var _transmat:INyARTransMat
public function NyARDetectMarker(i_param:NyARParam , i_code:Vector.<NyARCode >, i_marker_width:Vector.<Number>, i_number_of_code:int, i_input_raster_type:int)
複数のマーカーを検出し、最も一致するARCodeをi_codeから検索するオブジェクトを作ります。
Parameters i_param :NyARParam
— カメラパラメータを指定します。
i_code :Vector.<NyARCode >
— 検出するマーカーのARCode配列を指定します。
配列要素のインデックス番号が、そのままgetARCodeIndex関数で得られるARCodeインデックスになります。
例えば、要素[1]のARCodeに一致したマーカーである場合は、getARCodeIndexは1を返します。
i_marker_width :Vector.<Number>
— i_codeのマーカーサイズをミリメートルで指定した配列を指定します。 先頭からi_number_of_code個の要素には、有効な値を指定する必要があります。
i_number_of_code :int
— i_codeに含まれる、ARCodeの数を指定します。
i_input_raster_type :int
— 入力ラスタのピクセルタイプを指定します。この値は、INyARBufferReaderインタフェイスのgetBufferTypeの戻り値を指定します。
Throws public function detectMarkerLite(i_raster:INyARRgbRaster , i_threshold:int):int
i_imageにマーカー検出処理を実行し、結果を記録します。
Parameters
i_raster :INyARRgbRaster
— マーカーを検出するイメージを指定します。
i_threshold :int
— 検出閾値を指定します。0~255の範囲で指定してください。 通常は100~130くらいを指定します。
Returns int
— 見つかったマーカーの数を返します。 マーカーが見つからない場合は0を返します。
Throws public function getARCodeIndex(i_index:int):int
i_indexのマーカーのARCodeインデックスを返します。
Parameters
i_index :int
— マーカーのインデックス番号を指定します。 直前に実行したdetectMarkerLiteの戻り値未満かつ0以上である必要があります。
Returns public function getConfidence(i_index:int):Number
i_indexのマーカーの一致度を返します。
Parameters
i_index :int
— マーカーのインデックス番号を指定します。 直前に実行したdetectMarkerLiteの戻り値未満かつ0以上である必要があります。
Returns Number
— マーカーの一致度を返します。0~1までの値をとります。 一致度が低い場合には、誤認識の可能性が高くなります。
Throws public function getTransmationMatrix(i_index:int, o_result:NyARTransMatResult ):void
i_indexのマーカーに対する変換行列を計算し、結果値をo_resultへ格納します。 直前に実行したdetectMarkerLiteが成功していないと使えません。
Parameters
i_index :int
— マーカーのインデックス番号を指定します。 直前に実行したdetectMarkerLiteの戻り値未満かつ0以上である必要があります。
o_result :NyARTransMatResult
— 結果値を受け取るオブジェクトを指定してください。
Throws protected function initInstance(i_ref_param:NyARParam , i_ref_code:Vector.<NyARCode >, i_marker_width:Vector.<Number>, i_number_of_code:int, i_input_raster_type:int):void
Parameters
i_ref_param :NyARParam
i_ref_code :Vector.<NyARCode >
i_marker_width :Vector.<Number>
i_number_of_code :int
i_input_raster_type :int
public function setContinueMode(i_is_continue:Boolean):void
getTransmationMatrixの計算モードを設定します。
Parameters
i_is_continue :Boolean
— TRUEなら、transMatContinueを使用します。 FALSEなら、transMatを使用します。
public static const AR_SQUARE_MAX:int = 300
FLARManager is released under the GNU GPL: http://www.gnu.org/licenses Sun Jan 30 2011, 04:49 PM -08:00