Class HysteresisEdgeTracePoints

java.lang.Object
boofcv.alg.feature.detect.edge.HysteresisEdgeTracePoints

public class HysteresisEdgeTracePoints extends Object
Given the output from edge non-maximum suppression, perform hysteresis threshold along the edge and constructs a list of pixels belonging to each contour. Points are first connected in direction tangential to the edge's direction, if no matches are found then a match is searched for using an 8-connect rule. The direction image must be the 4-direction type. If multiple points in the local neighborhood can be added to edge then a new edge segment is created.
  • Field Details

  • Constructor Details

    • HysteresisEdgeTracePoints

      public HysteresisEdgeTracePoints()
  • Method Details

    • process

      public void process(GrayF32 intensity, GrayS8 direction, float lower, float upper)
      Performs hysteresis thresholding using the provided lower and upper thresholds.
      Parameters:
      intensity - Intensity image after edge non-maximum suppression has been applied. Modified.
      direction - 4-direction image. Not modified.
      lower - Lower threshold.
      upper - Upper threshold.
    • trace

      protected void trace(int x, int y, int indexInten)
      Traces along object's contour starting at the specified seed. As it does so it will set the intensity of points which are below the lower threshold to zero and add points to contour.
      Parameters:
      x - x-coordinate of seed pixel above threshold
      y - y-coordinate of seed pixel above threshold
      indexInten - Pixel index in the image array of coordinate (x,y)
    • getContours

      public List<EdgeContour> getContours()
      Returns the found contours. Returned data structures are subject to modification next time process is called.
      Returns:
      List of found contours.