Package boofcv.abst.tracker
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 TypeMethodDescriptionReturns information on the type of image that it can process.<TT> TT
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
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 sequencelocation
- Initial location of the object being tracked- Returns:
- true if successful and false if not.
-
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
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
Returns information on the type of image that it can process.- Returns:
- Image type
-
getLowLevelTracker
<TT> TT 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.
-