Class ContourFitting

java.lang.Object
org.opencv.core.Algorithm
org.opencv.ximgproc.ContourFitting

public class ContourFitting extends Algorithm
Class for ContourFitting algorithms. ContourFitting match two contours \( z_a \) and \( z_b \) minimizing distance \( d(z_a,z_b)=\sum (a_n - s b_n e^{j(n \alpha +\phi )})^2 \) where \( a_n \) and \( b_n \) are Fourier descriptors of \( z_a \) and \( z_b \) and s is a scaling factor and \( \phi \) is angle rotation and \( \alpha \) is starting point factor adjustement
  • Constructor Details

    • ContourFitting

      protected ContourFitting(long addr)
  • Method Details

    • __fromPtr__

      public static ContourFitting __fromPtr__(long addr)
    • estimateTransformation

      public void estimateTransformation(Mat src, Mat dst, Mat alphaPhiST, double[] dist, boolean fdContour)
      Fit two closed curves using fourier descriptors. More details in CITE: PersoonFu1977 and CITE: BergerRaghunathan1998
      Parameters:
      src - Contour defining first shape.
      dst - Contour defining second shape (Target).
      alphaPhiST - : \( \alpha \)=alphaPhiST(0,0), \( \phi \)=alphaPhiST(0,1) (in radian), s=alphaPhiST(0,2), Tx=alphaPhiST(0,3), Ty=alphaPhiST(0,4) rotation center
      dist - distance between src and dst after matching.
      fdContour - false then src and dst are contours and true src and dst are fourier descriptors.
    • estimateTransformation

      public void estimateTransformation(Mat src, Mat dst, Mat alphaPhiST, double[] dist)
      Fit two closed curves using fourier descriptors. More details in CITE: PersoonFu1977 and CITE: BergerRaghunathan1998
      Parameters:
      src - Contour defining first shape.
      dst - Contour defining second shape (Target).
      alphaPhiST - : \( \alpha \)=alphaPhiST(0,0), \( \phi \)=alphaPhiST(0,1) (in radian), s=alphaPhiST(0,2), Tx=alphaPhiST(0,3), Ty=alphaPhiST(0,4) rotation center
      dist - distance between src and dst after matching.
    • setCtrSize

      public void setCtrSize(int n)
      set number of Fourier descriptors used in estimateTransformation
      Parameters:
      n - number of Fourier descriptors equal to number of contour points after resampling.
    • setFDSize

      public void setFDSize(int n)
      set number of Fourier descriptors when estimateTransformation used vector<Point>
      Parameters:
      n - number of fourier descriptors used for optimal curve matching.
    • getCtrSize

      public int getCtrSize()
      Returns:
      number of fourier descriptors
    • getFDSize

      public int getFDSize()
      Returns:
      number of fourier descriptors used for optimal curve matching
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Algorithm
      Throws:
      Throwable