10 #ifndef mrpt_vision_tracking_H 11 #define mrpt_vision_tracking_H 114 inline CGenericFeatureTracker() : m_timlog(false), m_update_patches_counter(0),m_check_KLT_counter(0),m_detector_adaptive_thres(10)
147 out_featureList = in_featureList;
149 out_featureList.
begin(),out_featureList.
end(),
151 this->trackFeatures(old_img, new_img, out_featureList);
192 void updateAdaptiveNewFeatsThreshold(
193 const size_t nNewlyDetectedFeats,
194 const size_t desired_num_features);
201 template <
typename FEATLIST>
202 void internal_trackFeatures(
205 FEATLIST &inout_featureList );
241 template <
typename FEATLIST>
242 void trackFeatures_impl_templ(
245 FEATLIST &inout_featureList );
254 CFeatureList &rightList,
262 unsigned int numberOfSigmas );
void trackFeaturesNewList(const mrpt::utils::CImage &old_img, const mrpt::utils::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...
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
A class for storing images as grayscale or RGB bitmaps.
mrpt::utils::CTimeLogger m_timlog
the internal time logger, disabled by default.
mrpt::utils::TParametersDouble extra_params
Optional list of extra parameters to the algorithm.
CFeatureTracker_KL(mrpt::utils::TParametersDouble extraParams)
Ctor with extra parameters.
int m_detector_adaptive_thres
For use in "add_new_features" == true.
std::auto_ptr< CGenericFeatureTracker > CGenericFeatureTrackerAutoPtr
void VISION_IMPEXP filterBadCorrsByDistance(mrpt::utils::TMatchingPairList &list, unsigned int numberOfSigmas)
Filter bad correspondences by distance ...
A list of visual features, to be used as output by detectors, as input/output by trackers, etc.
void VISION_IMPEXP checkTrackedFeatures(CFeatureList &leftList, CFeatureList &rightList, vision::TMatchingOptions options)
Search for correspondences which are not in the same row and deletes them ...
void enableTimeLogger(bool enable=true)
Returns a read-only reference to the internal time logger.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Track a set of features from old_img -> new_img using sparse optimal flow (classic KL method)...
const mrpt::utils::CTimeLogger & getProfiler() const
Returns a read-only reference to the internal time logger.
A structure containing options for the matching.
mrpt::vision::TSimpleFeatureList m_newly_detected_feats
This field is clared by trackFeatures() before calling trackFeatures_impl(), and can be filled out wi...
A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats.
size_t m_check_KLT_counter
For use when "check_KLT_response_every">=1.
CFeatureTracker_KL()
Default ctor.
size_t m_update_patches_counter
for use when "update_patches_every">=1
TExtraOutputInfo last_execution_extra_info
Updated with each call to trackFeatures()
virtual ~CGenericFeatureTracker()
Dtor.
CGenericFeatureTracker()
Default ctor.
A virtual interface for all feature trackers, implementing the part of feature tracking that is commo...
mrpt::utils::CTimeLogger & getProfiler()
Returns a reference to the internal time logger.
int getDetectorAdaptiveThreshold() const
Returns the current adaptive threshold used by the FAST(ER) detector to find out new features in empt...
CGenericFeatureTracker(mrpt::utils::TParametersDouble extraParams)
Ctor with extra parameters.