Package boofcv.alg.fiducial.dots
Class UchiyaMarkerTracker
java.lang.Object
boofcv.alg.fiducial.dots.UchiyaMarkerTracker
- All Implemented Interfaces:
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.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Contains information on a marker that's being tracked -
Constructor Summary
ConstructorDescriptionUchiyaMarkerTracker
(LlahOperations llahOps, Ransac<Homography2D_F64, AssociatedPair> ransac) Configures the tracker -
Method Summary
Modifier and TypeMethodDescriptionvoid
process
(List<Point2D_F64> detectedDots) Detects and tracks dot patterns.void
Resets the track into its original statevoid
setVerbose
(@Nullable PrintStream out, @Nullable Set<String> configuration)
-
Constructor Details
-
UchiyaMarkerTracker
Configures the tracker
-
-
Method Details
-
resetTracking
public void resetTracking()Resets the track into its original state -
process
Detects and tracks dot patterns.- Parameters:
detectedDots
- Input image. Not modified.
-
setVerbose
public void setVerbose(@Nullable @Nullable PrintStream out, @Nullable @Nullable Set<String> configuration) - Specified by:
setVerbose
in interfaceVerbosePrint
-