Class UchiyaMarkerTracker

All Implemented Interfaces:

public class UchiyaMarkerTracker extends Object implements VerbosePrint

Detector and tracker for Uchiya Markers (a.k.a. Random Dot) see [1].

All known targets are stored in the "global" dictionary. The documentID in global dictionary are persistent. When documents are tracked between two frames they are assigned a temporary track ID. Tracking works by taking the most recent observations and computing a new LLAH description from those. This allows the description to change with a changing perspective.

When a document is detected a homography is computed from the canonical coordinates (global or previous track) to the current image pixels. This homography is then used to recompute the predicted location of all features, even ones which were not observed. The new track LLAH description is computed from these predicted landmarks.

NOTE: See in code comments about attempts to speed up this tracker.

See Also:
  • Constructor Details

  • Method Details

    • resetTracking

      public void resetTracking()
      Resets the track into its original state
    • process

      public void process(List<Point2D_F64> detectedDots)
      Detects and tracks dot patterns.
      detectedDots - Input image. Not modified.
    • setVerbose

      public void setVerbose(@Nullable @Nullable PrintStream out, @Nullable @Nullable Set<String> configuration)
      Specified by:
      setVerbose in interface VerbosePrint