类 ContourFitting


  • public class ContourFitting
    extends Algorithm
    用于轮廓拟合算法的类。 ContourFitting 匹配两个轮廓 \( z_a \) 和 \( z_b \),最小化距离 \( d(z_a,z_b)=\sum (a_n - s b_n e^{j(n \alpha +\phi )})^2 \),其中 \( a_n \) 和 \( b_n \) 是 \( z_a \) 和 \( z_b \) 的傅里叶描述符,s 是一个比例因子,\( \phi \) 是旋转角度,\( \alpha \) 是起点因子调整
    • 构造函数详细信息

      • ContourFitting

        protected ContourFitting​(long addr)
    • 方法详细信息

      • __fromPtr__

        public static ContourFitting __fromPtr__​(long addr)
      • estimateTransformation

        public void estimateTransformation​(Mat src,
                                           Mat dst,
                                           Mat alphaPhiST,
                                           double[] dist,
                                           boolean fdContour)
        使用傅里叶描述符拟合两条闭合曲线。 更多详细信息请参见 CITE: PersoonFu1977 和 CITE: BergerRaghunathan1998
        参数
        src - 定义第一个形状的轮廓。
        dst - 定义第二个形状(目标)的轮廓。
        alphaPhiST - : \( \alpha \)=alphaPhiST(0,0), \( \phi \)=alphaPhiST(0,1) (弧度), s=alphaPhiST(0,2), Tx=alphaPhiST(0,3), Ty=alphaPhiST(0,4) 旋转中心
        dist - 匹配后 src 和 dst 之间的距离。
        fdContour - 如果为 false,则 src 和 dst 是轮廓,如果为 true,则 src 和 dst 是傅里叶描述符。
      • estimateTransformation

        public void estimateTransformation​(Mat src,
                                           Mat dst,
                                           Mat alphaPhiST,
                                           double[] dist)
        使用傅里叶描述符拟合两条闭合曲线。 更多详细信息请参见 CITE: PersoonFu1977 和 CITE: BergerRaghunathan1998
        参数
        src - 定义第一个形状的轮廓。
        dst - 定义第二个形状(目标)的轮廓。
        alphaPhiST - : \( \alpha \)=alphaPhiST(0,0), \( \phi \)=alphaPhiST(0,1) (弧度), s=alphaPhiST(0,2), Tx=alphaPhiST(0,3), Ty=alphaPhiST(0,4) 旋转中心
        dist - 匹配后 src 和 dst 之间的距离。
      • setCtrSize

        public void setCtrSize​(int n)
        设置 estimateTransformation 中使用的傅里叶描述子的数量
        参数
        n - 傅里叶描述符的数量等于重采样后轮廓点的数量。
      • setFDSize

        public void setFDSize​(int n)
        当 estimateTransformation 使用 vector<Point> 时,设置傅里叶描述符的数量
        参数
        n - 用于最佳曲线匹配的傅里叶描述符的数量。
      • getCtrSize

        public int getCtrSize()
        返回
        傅里叶描述子的数量
      • getFDSize

        public int getFDSize()
        返回
        用于最佳曲线匹配的傅里叶描述子的数量
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类中 Algorithm
        抛出
        java.lang.Throwable