Declarations for managing local feature tracks across video sequences. More...
#include "general_resources.hpp"
#include "opencv_resources.hpp"
#include "camera.hpp"
#include "tools.hpp"
Go to the source code of this file.
Classes | |
struct | featureTrack |
Stores all spatial and temporal locations of a single feature in a video stream, along with its 3D estimate. More... | |
struct | indexedFeature |
Stores the spatial and temporal location of a single feature occurence in the video stream. More... | |
Defines | |
#define | DEFAULT_MAX_VELOCITY 10000.0 |
#define | MAX_TIME_DIFF_FOR_PREDICTION 99.0 |
Functions | |
void | addMatchesToVector (vector< featureTrack > &featureTrackVector, unsigned int index1, vector< cv::Point2f > &points1, unsigned int index2, vector< cv::Point2f > &points2, long int &starting_track_index, double minSeparation, bool debug=false) |
Add a whole bunch of candidates to the vector, unless they violate separation constraints. | |
int | addMatchToVector (vector< featureTrack > &featureTrackVector, unsigned int index1, const cv::Point2f &point1, unsigned int index2, const cv::Point2f &point2, long int &starting_track_index, const cv::Point2f &velocity=cv::Point2f(0.0, 0.0), bool debug=false) |
Add a single new matched (tracked) projection pair or feature pair to the vector. | |
void | addProjectionsToVector (vector< featureTrack > &featureTrackVector, unsigned int index, vector< cv::Point2f > &points, long int &starting_track_index, double minSeparation=0.0) |
Add a whole bunch of (single projection) candidates to the vector, unless they violate separation constraints. | |
void | addProjectionToVector (vector< featureTrack > &featureTrackVector, unsigned int index, const cv::Point2f &point, long int &starting_track_index) |
Add a single new (untracked) projection or feature to the vector. | |
void | assignEstimatesBasedOnVelocities (const vector< featureTrack > &featureTrackVector, const vector< cv::Point2f > &startingPoints, vector< cv::Point2f > &finishingPoints, unsigned int idx, double time1, double time2) |
Search structure for tracks, then predict their future locations. | |
void | assignHistoricalPoints (const vector< featureTrack > &src, unsigned int idx_1, unsigned int idx_2, vector< cv::Point2f > &dst) |
Find only the features from the first image that have NOT been tracked successfully in the second. | |
void | clearDangerFeatures (vector< featureTrack > &featureTrackVector, long int index) |
Clears tracks that are in danger of overflowed indices. | |
bool | createTrackMatrix (const vector< featureTrack > &src, cv::Mat &dst, int latest=-1) |
void | drawFeatureTracks (cv::Mat &src, cv::Mat &dst, vector< featureTrack > &tracks, const cv::Scalar &tColor, const cv::Scalar &kColor, unsigned int index, unsigned int history=10) |
int | findTrackPosition (const vector< featureTrack > &featureTrackVector, long int index) |
Find position within track vector for a specific track index. | |
unsigned int | getActiveTrackCount (const vector< featureTrack > &featureTrackVector, unsigned int previousIndex, unsigned int latestIndex) |
double | obtainFeatureSpeeds (const vector< featureTrack > &featureTrackVector, unsigned int idx1, double time1, unsigned int idx2, double time2) |
Calculate but don't assign speeds for features tracked between the provided frames. | |
void | redistortTracks (const vector< featureTrack > &src, vector< featureTrack > &dst, const cv::Mat &cameraMatrix, const cv::Mat &distCoeffs, unsigned int latest, const cv::Mat &newCamMat=cv::Mat::eye(3, 3, CV_64FC1), unsigned int history=5) |
void | removeObsoleteElements (vector< featureTrack > &featureTrackVector, const vector< unsigned int > &activeFrameIndices) |
double | updateFeatureSpeeds (vector< featureTrack > &featureTrackVector, unsigned int idx1, double time1, unsigned int idx2, double time2, double maxVelocity=DEFAULT_MAX_VELOCITY) |
Calculate and assign speeds for features tracked between the provided frames. |
Declarations for managing local feature tracks across video sequences.
Definition in file tracks.hpp.
#define DEFAULT_MAX_VELOCITY 10000.0 |
Definition at line 13 of file tracks.hpp.
#define MAX_TIME_DIFF_FOR_PREDICTION 99.0 |
Definition at line 14 of file tracks.hpp.
void addMatchesToVector | ( | vector< featureTrack > & | featureTrackVector, |
unsigned int | index1, | ||
vector< cv::Point2f > & | points1, | ||
unsigned int | index2, | ||
vector< cv::Point2f > & | points2, | ||
long int & | starting_track_index, | ||
double | minSeparation, | ||
bool | debug = false |
||
) |
Add a whole bunch of candidates to the vector, unless they violate separation constraints.
Definition at line 361 of file tracks.cpp.
int addMatchToVector | ( | vector< featureTrack > & | featureTrackVector, |
unsigned int | index1, | ||
const cv::Point2f & | point1, | ||
unsigned int | index2, | ||
const cv::Point2f & | point2, | ||
long int & | starting_track_index, | ||
const cv::Point2f & | velocity = cv::Point2f(0.0, 0.0) , |
||
bool | debug = false |
||
) |
Add a single new matched (tracked) projection pair or feature pair to the vector.
Definition at line 538 of file tracks.cpp.
void addProjectionsToVector | ( | vector< featureTrack > & | featureTrackVector, |
unsigned int | index, | ||
vector< cv::Point2f > & | points, | ||
long int & | starting_track_index, | ||
double | minSeparation = 0.0 |
||
) |
Add a whole bunch of (single projection) candidates to the vector, unless they violate separation constraints.
Definition at line 328 of file tracks.cpp.
void addProjectionToVector | ( | vector< featureTrack > & | featureTrackVector, |
unsigned int | index, | ||
const cv::Point2f & | point, | ||
long int & | starting_track_index | ||
) |
Add a single new (untracked) projection or feature to the vector.
Definition at line 494 of file tracks.cpp.
void assignEstimatesBasedOnVelocities | ( | const vector< featureTrack > & | featureTrackVector, |
const vector< cv::Point2f > & | startingPoints, | ||
vector< cv::Point2f > & | finishingPoints, | ||
unsigned int | idx, | ||
double | time1, | ||
double | time2 | ||
) |
Search structure for tracks, then predict their future locations.
Definition at line 279 of file tracks.cpp.
void assignHistoricalPoints | ( | const vector< featureTrack > & | src, |
unsigned int | idx_1, | ||
unsigned int | idx_2, | ||
vector< cv::Point2f > & | dst | ||
) |
Find only the features from the first image that have NOT been tracked successfully in the second.
Definition at line 796 of file tracks.cpp.
void clearDangerFeatures | ( | vector< featureTrack > & | featureTrackVector, |
long int | index | ||
) |
Clears tracks that are in danger of overflowed indices.
Definition at line 460 of file tracks.cpp.
bool createTrackMatrix | ( | const vector< featureTrack > & | src, |
cv::Mat & | dst, | ||
int | latest = -1 |
||
) |
Definition at line 716 of file tracks.cpp.
void drawFeatureTracks | ( | cv::Mat & | src, |
cv::Mat & | dst, | ||
vector< featureTrack > & | tracks, | ||
const cv::Scalar & | tColor, | ||
const cv::Scalar & | kColor, | ||
unsigned int | index, | ||
unsigned int | history = 10 |
||
) |
Definition at line 629 of file tracks.cpp.
int findTrackPosition | ( | const vector< featureTrack > & | featureTrackVector, |
long int | index | ||
) |
Find position within track vector for a specific track index.
Definition at line 213 of file tracks.cpp.
unsigned int getActiveTrackCount | ( | const vector< featureTrack > & | featureTrackVector, |
unsigned int | previousIndex, | ||
unsigned int | latestIndex | ||
) |
Definition at line 33 of file tracks.cpp.
double obtainFeatureSpeeds | ( | const vector< featureTrack > & | featureTrackVector, |
unsigned int | idx1, | ||
double | time1, | ||
unsigned int | idx2, | ||
double | time2 | ||
) |
Calculate but don't assign speeds for features tracked between the provided frames.
Definition at line 55 of file tracks.cpp.
void redistortTracks | ( | const vector< featureTrack > & | src, |
vector< featureTrack > & | dst, | ||
const cv::Mat & | cameraMatrix, | ||
const cv::Mat & | distCoeffs, | ||
unsigned int | latest, | ||
const cv::Mat & | newCamMat = cv::Mat::eye(3, 3, CV_64FC1) , |
||
unsigned int | history = 5 |
||
) |
Definition at line 676 of file tracks.cpp.
void removeObsoleteElements | ( | vector< featureTrack > & | featureTrackVector, |
const vector< unsigned int > & | activeFrameIndices | ||
) |
Definition at line 182 of file tracks.cpp.
double updateFeatureSpeeds | ( | vector< featureTrack > & | featureTrackVector, |
unsigned int | idx1, | ||
double | time1, | ||
unsigned int | idx2, | ||
double | time2, | ||
double | maxVelocity = DEFAULT_MAX_VELOCITY |
||
) |
Calculate and assign speeds for features tracked between the provided frames.
Definition at line 109 of file tracks.cpp.