17#include "sensors/sensor_data.hpp"
18#include "types/fptypes.hpp"
19#include "vision/camera.hpp"
20#include "vision/features.hpp"
21#include "vision/track.hpp"
64 const PinholeCameraUniquePtr&
cam()
const;
92 void detect(std::vector<cv::Mat>& pyramids, cv::Mat& mask,
Features& features);
100 void matchKLT(std::vector<uchar>& mask);
108 void ransac(std::vector<uchar>& mask);
119 void extractCellKeypoints(
const uint& idx,
const cv::Mat& cell,
const cv::Mat& mask,
Keypoints& cell_kpts);
129 void maskGivenFeatures(cv::Mat& mask,
const FeaturesCoordinates& points);
133 PinholeCameraUniquePtr cam_;
134 cv::Ptr<cv::Feature2D> detector_;
136 std::map<uint, std::atomic<uint>> max_kpts_per_cell_;
139 cv::Mat feature_mask_;
141 std::vector<cv::Mat> previous_pyramids_;
144 std::vector<cv::Mat> current_pyramids_;
149 static constexpr std::array<uint, 4> ratio_ = {10, 6, 3, 1};
This class implement the feature tracker module based on Lucas-Kanade optical flow....
Definition tracker.hpp:31
std::vector< cv::KeyPoint > Keypoints
A vector of features keypoints.
Definition tracker.hpp:33
std::pair< fp, Features > TimedFeatures
Set of features associated with a time.
Definition tracker.hpp:34
const TimedFeatures & currentFeatures() const
Get the current detected/tracked features.
const PinholeCameraUniquePtr & cam() const
Get the camera pointer.
void processCamera(Camera &cam)
This method process the input camera measurement. If first pre-process the camera image,...
Tracker(const TrackerOptions &opts, const Vector4 &intrinsics)
Tracker constructor.
Definition sensor_data.hpp:78
(Cache friendly) Features struct. Define a set of features detected/tracked.
Definition features.hpp:30
Definition msceqf_options.hpp:180