KLTReplaceLostFeatures()
void KLTReplaceLostFeatures(
KLT_TrackingContext tc,
KLT_PixelType *img,
int ncols,
int nrows,
KLT_FeatureList fl);
KLTReplaceLostFeatures() takes an image pointed to by img and a feature list
fl. (NOTE: KLT_PixelType
is, unless modified by the user, an unsigned char.) If tc->sequentialMode is
TRUE, and if KLTTrackFeatures() has previously been called, then img is ignored
and instead the image from
tc->pyramid_last, tc->pyramid_last_gradx, and tc->pyramid_last_grady is used.
Otherwise, the gradients are computed using a Gaussian of sigma =
tc->grad_sigma, but not before the image is smoothed with a Gaussian of
sigma = (tc->smooth_sigma_fact *
max(tc->window_width, tc->window_height)) if tc->smoothBeforeSelecting is TRUE.
Essentially, the same computation is performed as that of
KLTSelectGoodFeatures(), except that only the lost features are replaced,
rather than all the features. All new features are guaranteed to be at least
tc->mindist pixels away from each other and from all the existing features.