Mean-shift  based tracker which tracks the target inside a likelihood image using a flat rectangular kernel
of fixed size. The likelihood for each pixel is computed using
SparseImageSample_F32. How that
model is computed is not specified by this class, but is often based on color. For sake of efficiency, the
likelihood for a pixel is only computed as needed.
This algorithm can run very fast and works well when the target being tracked is visually distinctive from the background and largely composed of one color. It can't handle changes in scale or shape of the target, which does limit its applications.
 Yizong Chen, "Mean Shift, Mode Seeking, and Clustering" IEEE Trans. Pattern Analysis and Machine Intelligence,
VOL. 17, NO. 8, August 1995
Modifier and Type Method Description
()Current location of target in the image
T image, RectangleLength2D_I32 initial)(Specifies the initial target location so that it can learn its description
()If true the tracker has filed
T image)(Updates the target's location in the image by performing a mean-shift search.
RectangleLength2D_I32 location)(Used to set the location of the track without changing any appearance history.
(int x0, int y0, int x1, int y1)Computes the PDF only inside the image as needed amd update the dirty rectangle
TrackerMeanShiftLikelihoodpublic TrackerMeanShiftLikelihood(PixelLikelihood<T> targetModel, int maxIterations, float minFractionDrop)Configures tracker
targetModel- Target used to model the target's likelihood
maxIterations- Maximum number of iterations. try 20
minFractionDrop- If the likelihood drops below its initial value by this fraction the track is assumed to be lost
initializeSpecifies the initial target location so that it can learn its description
initial- Initial target location and the mean-shift bandwidth
setTrackLocationpublic void setTrackLocation(RectangleLength2D_I32 location)Used to set the location of the track without changing any appearance history.
location- new location
processpublic boolean process(T image)Updates the target's location in the image by performing a mean-shift search. Returns if it was successful at finding the target or not. If it fails once it will need to be re-initialized
image- Most recent image in the sequence
- true for success or false if it failed
updatePdfImageprotected void updatePdfImage(int x0, int y0, int x1, int y1)Computes the PDF only inside the image as needed amd update the dirty rectangle
getLocationpublic RectangleLength2D_I32 getLocation()Current location of target in the image
- rectangle containing the target
isFailedpublic boolean isFailed()If true the tracker has filed