SaDVIO
|
A class to handles 3D meshing via 2D triangulation on successive KFs. More...
#include <mesher.h>
Public Member Functions | |
Mesher (std::string slam_mode, double ZNCC_tsh, double max_length_tsh) | |
std::vector< FeatPolygon > | createMesh2D (std::shared_ptr< ImageSensor > sensor) |
Create a 2D mesh for a given image sensor. More... | |
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. More... | |
void | addNewKF (std::shared_ptr< Frame > frame) |
add a new KF in the queue (for the thread) More... | |
bool | getNewKf () |
void | run () |
The thread function. More... | |
Public Attributes | |
std::queue< std::shared_ptr< Frame > > | _kf_queue |
The queue of keyframes to process. More... | |
std::shared_ptr< Frame > | _curr_kf |
The current keyframe being processed. More... | |
std::shared_ptr< Mesh3D > | _mesh_3d |
The 3D mesh object. More... | |
std::string | _slam_mode |
The SLAM mode (e.g., "nofov", "bimono", etc.) More... | |
double | _avg_mesh_t |
Average time taken to process a mesh update for profiling. More... | |
int | _n_kf |
Number of keyframes processed for profiling. More... | |
std::mutex | _mesher_mtx |
A class to handles 3D meshing via 2D triangulation on successive KFs.
It works as a thread that receives new KFs and computes the 2D mesh for each image sensor then update the 3D Mesh accordingly
isae::Mesher::Mesher | ( | std::string | slam_mode, |
double | ZNCC_tsh, | ||
double | max_length_tsh | ||
) |
void isae::Mesher::addNewKF | ( | std::shared_ptr< Frame > | frame | ) |
add a new KF in the queue (for the thread)
std::vector< cv::Vec6f > isae::Mesher::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.
std::vector< FeatPolygon > isae::Mesher::createMesh2D | ( | std::shared_ptr< ImageSensor > | sensor | ) |
Create a 2D mesh for a given image sensor.
bool isae::Mesher::getNewKf | ( | ) |
void isae::Mesher::run | ( | ) |
The thread function.
double isae::Mesher::_avg_mesh_t |
Average time taken to process a mesh update for profiling.
std::shared_ptr<Frame> isae::Mesher::_curr_kf |
The current keyframe being processed.
std::queue<std::shared_ptr<Frame> > isae::Mesher::_kf_queue |
The queue of keyframes to process.
std::shared_ptr<Mesh3D> isae::Mesher::_mesh_3d |
The 3D mesh object.
|
mutable |
int isae::Mesher::_n_kf |
Number of keyframes processed for profiling.
std::string isae::Mesher::_slam_mode |
The SLAM mode (e.g., "nofov", "bimono", etc.)