24 #ifndef TRACKERFEATURES_H
25 #define TRACKERFEATURES_H
62 double TrackHid(
const cv::Mat &img, cv::Mat &mask,
bool add_features =
true);
66 std::vector<cv::Point2f>
69 std::vector<cv::Point2f>
89 int _min_features = 90,
90 double _quality_level = 0.01,
91 double _min_distance = 10,
98 int _min_features = 90,
99 double _quality_level = 0.01,
100 double _min_distance = 10);
104 double Reset(
const cv::Mat &img, cv::Mat &mask);
113 return Track(img,
true);
116 double Track(cv::Mat &img,
bool add_features);
118 double Track(cv::Mat &img, cv::Mat &mask);
This file implements a tracking interface.
TrackerFeatures tracks features using OpenCV's cvGoodFeaturesToTrack and cvCalcOpticalFlowPyrLK
std::vector< cv::Point2f > prev_features
Track result: previous features
TrackerFeatures(int _max_features=100, int _min_features=90, double _quality_level=0.01, double _min_distance=10, int _pyr_levels=1, int _win_size=3)
int Purge()
Purge features that are considerably closer than the defined min_distance.
bool DelFeatureId(int id)
Stop tracking the identified feature (with feature id)
void ChangeSettings(int _max_features=100, int _min_features=90, double _quality_level=0.01, double _min_distance=10)
Change settings while running.
bool DelFeature(int index)
Stop tracking the identified feature (with index for features array)
double Track(cv::Mat &img, bool add_features)
Track features.
int * prev_ids
Track result: ID:s for previous features
int * ids
Track result: ID:s for current features
cv::Mat NewFeatureMask()
Create and get the pointer to new_features_mask.
double Reset(const cv::Mat &img, cv::Mat &mask)
Reset track features on specified mask area.
int feature_count
Track result: count of current features
double Track(cv::Mat &img)
Track features.
double Track(cv::Mat &img, cv::Mat &mask)
Track features.
int AddFeatures(cv::Mat &mask)
add features to the previously tracked frame if there are less than min_features
~TrackerFeatures()
Destructor.
int prev_feature_count
Track result: count of previous features
double TrackHid(const cv::Mat &img, cv::Mat &mask, bool add_features=true)
Reset track features on specified mask area.
std::vector< cv::Point2f > features
Track result: current features
Pure virtual base class for tracking optical flow.