OSDN Git Service

[update]nyartoolkit
[nyartoolkit-and/nyartoolkit-and.git] / trunk / src / jp / nyatla / nyartoolkit / processor / SingleARMarkerProcesser.java
index 26306b3..19fb191 100644 (file)
@@ -54,14 +54,14 @@ public abstract class SingleARMarkerProcesser
        /**\r
         * detectMarkerのコールバック関数\r
         */\r
-       private class DetectSquareCB implements INyARSquareContourDetector.DetectMarkerCallback\r
+       private class DetectSquareCB implements NyARSquareContourDetector.IDetectMarkerCallback\r
        {\r
                //公開プロパティ\r
                public final NyARSquare square=new NyARSquare();\r
                public double confidence=0.0;\r
                public int code_index=-1;               \r
-               public double cf_threshold_new = 0.30;\r
-               public double cf_threshold_exist = 0.15;\r
+               public double cf_threshold_new = 0.50;\r
+               public double cf_threshold_exist = 0.30;\r
                \r
                //参照\r
                private INyARRgbRaster _ref_raster;\r
@@ -70,12 +70,12 @@ public abstract class SingleARMarkerProcesser
                private NyARMatchPattDeviationColorData _deviation_data;\r
                private NyARMatchPatt_Color_WITHOUT_PCA[] _match_patt;\r
                private final NyARMatchPattResult __detectMarkerLite_mr=new NyARMatchPattResult();\r
-               private Coord2Linear _coordline;\r
+               private NyARCoord2Linear _coordline;\r
                \r
                public DetectSquareCB(NyARParam i_param)\r
                {\r
                        this._match_patt=null;\r
-                       this._coordline=new Coord2Linear(i_param.getScreenSize(),i_param.getDistortionFactor());\r
+                       this._coordline=new NyARCoord2Linear(i_param.getScreenSize(),i_param.getDistortionFactor());\r
                        return;\r
                }\r
                public void setNyARCodeTable(NyARCode[] i_ref_code,int i_code_resolution)\r
@@ -103,7 +103,7 @@ public abstract class SingleARMarkerProcesser
                 * 矩形が見付かるたびに呼び出されます。\r
                 * 発見した矩形のパターンを検査して、方位を考慮した頂点データを確保します。\r
                 */\r
-               public void onSquareDetect(INyARSquareContourDetector i_sender,int[] i_coordx,int[] i_coordy,int i_coor_num,int[] i_vertex_index) throws NyARException\r
+               public void onSquareDetect(NyARSquareContourDetector i_sender,int[] i_coordx,int[] i_coordy,int i_coor_num,int[] i_vertex_index) throws NyARException\r
                {\r
                        if (this._match_patt==null) {\r
                                return;\r
@@ -197,7 +197,7 @@ public abstract class SingleARMarkerProcesser
 \r
        private int _lost_delay = 5;\r
 \r
-       private INyARSquareContourDetector _square_detect;\r
+       private NyARSquareContourDetector _square_detect;\r
 \r
        protected INyARTransMat _transmat;\r
 \r
@@ -222,7 +222,7 @@ public abstract class SingleARMarkerProcesser
        protected void initInstance(NyARParam i_param,int i_raster_type) throws NyARException\r
        {\r
                //初期化済?\r
-               assert this._initialized==false;\r
+               assert(this._initialized==false);\r
                \r
                NyARIntSize scr_size = i_param.getScreenSize();\r
                // 解析オブジェクトを作る\r
@@ -298,6 +298,16 @@ public abstract class SingleARMarkerProcesser
                \r
                return;\r
        }\r
+       /**\r
+        * \r
+        * @param i_new_detect_cf\r
+        * @param i_exist_detect_cf\r
+        */\r
+       public void setConfidenceThreshold(double i_new_cf,double i_exist_cf)\r
+       {\r
+               this._detectmarker_cb.cf_threshold_exist=i_exist_cf;\r
+               this._detectmarker_cb.cf_threshold_new=i_new_cf;\r
+       }\r
 \r
        private NyARTransMatResult __NyARSquare_result = new NyARTransMatResult();\r
 \r
@@ -335,7 +345,7 @@ public abstract class SingleARMarkerProcesser
                        } else if (i_code_index == this._current_arcode_index) {// 同じARCodeの再認識\r
                                // イベント生成\r
                                // 変換行列を作成\r
-                               this._transmat.transMat(i_square, this._offset, result);\r
+                               this._transmat.transMatContinue(i_square, this._offset, result);\r
                                // OnUpdate\r
                                this.onUpdateHandler(i_square, result);\r
                                this._lost_delay_count = 0;\r