Go to the documentation of this file.
4 #include <opencv2/core.hpp>
5 #include <opencv2/imgproc.hpp>
24 Mesher(std::string slam_mode,
double ZNCC_tsh,
double max_length_tsh);
27 std::vector<FeatPolygon>
createMesh2D(std::shared_ptr<ImageSensor> sensor);
30 std::vector<cv::Vec6f>
computeMesh2D(
const cv::Size img_size,
const std::vector<cv::Point2f> p2f_to_triangulate);
33 void addNewKF(std::shared_ptr<Frame> frame);
std::vector< cv::Vec6f > computeMesh2D(const cv::Size img_size, const std::vector< cv::Point2f > p2f_to_triangulate)
Compute the Delaunnay triangulation of a set of openCV points in an image.
Definition: mesher.cpp:99
void run()
The thread function.
Definition: mesher.cpp:71
std::string _slam_mode
The SLAM mode (e.g., "nofov", "bimono", etc.)
Definition: mesher.h:42
bool getNewKf()
Definition: mesher.cpp:56
std::vector< FeatPolygon > createMesh2D(std::shared_ptr< ImageSensor > sensor)
Create a 2D mesh for a given image sensor.
Definition: mesher.cpp:134
std::queue< std::shared_ptr< Frame > > _kf_queue
The queue of keyframes to process.
Definition: mesher.h:39
Definition: AFeature2D.h:8
std::mutex _mesher_mtx
Definition: mesher.h:46
int _n_kf
Number of keyframes processed for profiling.
Definition: mesher.h:44
double _avg_mesh_t
Average time taken to process a mesh update for profiling.
Definition: mesher.h:43
std::shared_ptr< Mesh3D > _mesh_3d
The 3D mesh object.
Definition: mesher.h:41
std::shared_ptr< Frame > _curr_kf
The current keyframe being processed.
Definition: mesher.h:40
Mesher(std::string slam_mode, double ZNCC_tsh, double max_length_tsh)
Definition: mesher.cpp:33
A class to handles 3D meshing via 2D triangulation on successive KFs.
Definition: mesher.h:21
void addNewKF(std::shared_ptr< Frame > frame)
add a new KF in the queue (for the thread)
Definition: mesher.cpp:51