svo
Semi-Direct Visual Odometry
|
Project points from the map into the image and find the corresponding feature (corner). More...
#include <reprojector.h>
Classes | |
struct | Candidate |
A candidate is a point that projects into the image plane and for which we will search a maching feature in the image. More... | |
struct | Grid |
The grid stores a set of candidate matches. For every grid cell we try to find one match. More... | |
struct | Options |
Reprojector config parameters. More... | |
Public Member Functions | |
Reprojector (vk::AbstractCamera *cam, Map &map) | |
~Reprojector () | |
void | reprojectMap (FramePtr frame, std::vector< std::pair< FramePtr, std::size_t > > &overlap_kfs) |
Project points from the map into the image. | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW struct svo::Reprojector::Options | options_ |
size_t | n_matches_ |
size_t | n_trials_ |
Private Types | |
typedef std::list< Candidate, aligned_allocator< Candidate > > | Cell |
typedef std::vector< Cell * > | CandidateGrid |
Private Member Functions | |
void | initializeGrid (vk::AbstractCamera *cam) |
void | resetGrid () |
bool | reprojectCell (Cell &cell, FramePtr frame) |
bool | reprojectPoint (FramePtr frame, Point *point) |
Static Private Member Functions | |
static bool | pointQualityComparator (Candidate &lhs, Candidate &rhs) |
Private Attributes | |
Grid | grid_ |
Matcher | matcher_ |
Map & | map_ |
Project points from the map into the image and find the corresponding feature (corner).
We don't search a match for every point but only for one point per cell. Thereby, we achieve a homogeneously distributed set of matched features and at the same time we can save processing time by not projecting all points.
typedef std::vector<Cell*> svo::Reprojector::CandidateGrid [private] |
typedef std::list<Candidate, aligned_allocator<Candidate> > svo::Reprojector::Cell [private] |
svo::Reprojector::Reprojector | ( | vk::AbstractCamera * | cam, |
Map & | map | ||
) |
void svo::Reprojector::initializeGrid | ( | vk::AbstractCamera * | cam | ) | [private] |
static bool svo::Reprojector::pointQualityComparator | ( | Candidate & | lhs, |
Candidate & | rhs | ||
) | [static, private] |
bool svo::Reprojector::reprojectCell | ( | Cell & | cell, |
FramePtr | frame | ||
) | [private] |
void svo::Reprojector::reprojectMap | ( | FramePtr | frame, |
std::vector< std::pair< FramePtr, std::size_t > > & | overlap_kfs | ||
) |
Project points from the map into the image.
First finds keyframes with overlapping field of view and projects only those map-points.
bool svo::Reprojector::reprojectPoint | ( | FramePtr | frame, |
Point * | point | ||
) | [private] |
void svo::Reprojector::resetGrid | ( | ) | [private] |
Grid svo::Reprojector::grid_ [private] |
Map& svo::Reprojector::map_ [private] |
Matcher svo::Reprojector::matcher_ [private] |
size_t svo::Reprojector::n_matches_ |
size_t svo::Reprojector::n_trials_ |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW struct svo::Reprojector::Options svo::Reprojector::options_ |