Interface TrackerObjectQuad<T extends ImageBase<T>>

All Known Implementing Classes:
Circulant_to_TrackerObjectQuad, Comaniciu2003_to_TrackerObjectQuad, Msl_to_TrackerObjectQuad, Sfot_to_TrackObjectQuad, Tld_to_TrackerObjectQuad

public interface TrackerObjectQuad<T extends ImageBase<T>>

High level interface for an object tracker where the object being tracked is specified using a quadrilateral. The input is assumed to be a sequence of consecutive video images. When initialize is called the tracker is put into its initial state ago and its past history is discarded. The vertices in the quadrilateral are specified in a clock-wise direction (a,b,c,d).

The motion/distortion model used by the trackers will vary. Typical models are (scale,translation), (scale,translation,rotation), and affine. For maximum abstraction, access to the underlying model is not provided through this interface. To access that model invoke the lower level algorithm directly.

  • Method Summary

    Modifier and Type Method Description
    ImageType<T> getImageType()
    Returns information on the type of image that it can process.
    <T> T getLowLevelTracker()
    Provides access to the inner low level tracker.
    void hint​(Quadrilateral_F64 hint)
    Provide a hint for where the tracked object is.
    boolean initialize​(T image, Quadrilateral_F64 location)
    Initializes tracking by specifying the object's location using a quadrilateral.
    boolean process​(T image, Quadrilateral_F64 results)
    Updates the tracks location using the latest video frame.
  • Method Details

    • initialize

      boolean initialize​(T image, Quadrilateral_F64 location)
      Initializes tracking by specifying the object's location using a quadrilateral. Some implementations can fail if there is insufficient visual information for it to track. All previous tracking information is discarded when this function is called.
      Parameters:
      image - Initial image in the sequence
      location - Initial location of the object being tracked
      Returns:
      true if successful and false if not.
    • hint

      void hint​(Quadrilateral_F64 hint)
      Provide a hint for where the tracked object is. How and if this hint is used at all is implementation specific. This can be used add information from sensors such as gyros to the tracker. If this functionality isn't supported by the tracker then it will simply ignore the suggestion. It probably knows what's happening than you do.
      Parameters:
      hint - (Input) estimated location of the object.
    • process

      boolean process​(T image, Quadrilateral_F64 results)
      Updates the tracks location using the latest video frame. initialize(boofcv.struct.image.ImageBase, Quadrilateral_F64) must be called once before this function can be called.
      Parameters:
      image - (Input) The next image in the video sequence.
      results - (Output) Storage for new location if tracking is successful.
      Returns:
      true if the target was found and 'location' updated.
    • getImageType

      ImageType<T> getImageType()
      Returns information on the type of image that it can process.
      Returns:
      Image type
    • getLowLevelTracker

      <T> T getLowLevelTracker()
      Provides access to the inner low level tracker. You need to be familiar with the tracker's source code to make sure of this function. Returns null if implementing it doesn't make sense.
      Returns:
      Tracking algorithm.