10 #ifndef mrpt_vision_tracking_H
11 #define mrpt_vision_tracking_H
204 out_featureList = in_featureList;
206 out_featureList.
begin(), out_featureList.
end(), [](
auto& ptr) {
207 ptr.reset(dynamic_cast<CFeature*>(ptr->clone()));
277 const size_t nNewlyDetectedFeats,
const size_t desired_num_features);
287 template <
typename FEATLIST>
290 FEATLIST& inout_featureList);
340 template <
typename FEATLIST>
343 FEATLIST& inout_featureList);
358 unsigned int numberOfSigmas);
A class for storing images as grayscale or RGB bitmaps.
A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X),...
void enable(bool enabled=true)
A list of visual features, to be used as output by detectors, as input/output by trackers,...
std::unique_ptr< CGenericFeatureTracker > CGenericFeatureTrackerAutoPtr
void filterBadCorrsByDistance(mrpt::tfest::TMatchingPairList &list, unsigned int numberOfSigmas)
Filter bad correspondences by distance ...
void checkTrackedFeatures(CFeatureList &leftList, CFeatureList &rightList, vision::TMatchingOptions options)
Search for correspondences which are not in the same row and deletes them ...
Classes for computer vision, detectors, features, etc.
Track a set of features from old_img -> new_img using sparse optimal flow (classic KL method).
CFeatureTracker_KL(mrpt::system::TParametersDouble extraParams)
Ctor with extra parameters.
CFeatureTracker_KL()
Default ctor.
virtual void trackFeatures_impl(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, vision::CFeatureList &inout_featureList) override
This version falls back to the version with TSimpleFeatureList if the derived class does not implemen...
void trackFeatures_impl_templ(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, FEATLIST &inout_featureList)
Track a set of features from old_img -> new_img using sparse optimal flow (classic KL method) Optiona...
A virtual interface for all feature trackers, implementing the part of feature tracking that is commo...
virtual void trackFeatures_impl(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, TSimpleFeaturefList &inout_featureList)
The tracking method implementation, to be implemented in children classes.
virtual void trackFeatures_impl(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, TSimpleFeatureList &inout_featureList)=0
The tracking method implementation, to be implemented in children classes.
int m_detector_adaptive_thres
For use in "add_new_features" == true.
size_t m_check_KLT_counter
For use when "check_KLT_response_every">=1.
void trackFeaturesNewList(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, const vision::CFeatureList &in_featureList, vision::CFeatureList &out_featureList)
A wrapper around the basic trackFeatures() method, but keeping the original list of features unmodifi...
void internal_trackFeatures(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, FEATLIST &inout_featureList)
Perform feature tracking from "old_img" to "new_img", with a (possibly empty) list of previously trac...
virtual void trackFeatures_impl(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, CFeatureList &inout_featureList)=0
This version falls back to the version with TSimpleFeatureList if the derived class does not implemen...
mrpt::system::TParametersDouble extra_params
Optional list of extra parameters to the algorithm.
CGenericFeatureTracker(mrpt::system::TParametersDouble extraParams)
Ctor with extra parameters.
const mrpt::system::CTimeLogger & getProfiler() const
Returns a read-only reference to the internal time logger.
mrpt::system::CTimeLogger & getProfiler()
Returns a reference to the internal time logger.
void updateAdaptiveNewFeatsThreshold(const size_t nNewlyDetectedFeats, const size_t desired_num_features)
Adapts the threshold m_detector_adaptive_thres according to the real and desired number of features j...
TExtraOutputInfo last_execution_extra_info
Updated with each call to trackFeatures()
CGenericFeatureTracker()
Default ctor.
mrpt::vision::TSimpleFeatureList m_newly_detected_feats
This field is clared by trackFeatures() before calling trackFeatures_impl(), and can be filled out wi...
mrpt::system::CTimeLogger m_timlog
the internal time logger, disabled by default.
void enableTimeLogger(bool enable=true)
Returns a read-only reference to the internal time logger.
virtual ~CGenericFeatureTracker()
Dtor.
size_t m_update_patches_counter
for use when "update_patches_every">=1
void trackFeatures(const mrpt::img::CImage &old_img, const mrpt::img::CImage &new_img, TSimpleFeatureList &inout_featureList)
Perform feature tracking from "old_img" to "new_img", with a (possibly empty) list of previously trac...
int getDetectorAdaptiveThreshold() const
Returns the current adaptive threshold used by the FAST(ER) detector to find out new features in empt...
A structure containing options for the matching.