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