Solar
Public Member Functions | List of all members
SolAR::api::solver::pose::I2D3DCorrespondencesFinder Class Referenceabstract

Finds the 2D-3D correspondences giving a frame and its matches with a second frame which has known 2D-3D correspondences. UUID: 0404e8b9-b824-4852-a34d-6eafa7563918 More...

#include <I2D3DCorrespondencesFinder.h>

Inheritance diagram for SolAR::api::solver::pose::I2D3DCorrespondencesFinder:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::solver::pose::I2D3DCorrespondencesFinder:
Collaboration graph
[legend]

Public Member Functions

 I2D3DCorrespondencesFinder ()=default
 I2D3DCorrespondencesFinder default constructor.
 
virtual ~I2D3DCorrespondencesFinder ()=default
 I2D3DCorrespondencesFinder default destructor.
 
virtual FrameworkReturnCode find (const SRef< SolAR::datastructure::Frame > lastFrame, const SRef< SolAR::datastructure::Frame > currentFrame, const std::vector< SolAR::datastructure::DescriptorMatch > &current_matches, std::vector< SolAR::datastructure::Point3Df > &shared_3dpoint, std::vector< SolAR::datastructure::Point2Df > &shared_2dpoint, std::vector< std::pair< uint32_t, SRef< SolAR::datastructure::CloudPoint > > > &corres2D3D, std::vector< SolAR::datastructure::DescriptorMatch > &found_matches, std::vector< SolAR::datastructure::DescriptorMatch > &remaining_matches)=0
 Define 2D-3D point correspondences of the current frame based on keypoint matches between the current frame and the last frame. More...
 

Detailed Description

Finds the 2D-3D correspondences giving a frame and its matches with a second frame which has known 2D-3D correspondences. UUID: 0404e8b9-b824-4852-a34d-6eafa7563918

Knowing a frame, its reference keyframe which already has 3D correpspondences, as well the 2D matches between them, the component find the 2d-3D correspondences between the current frame and the 3D Points visible from the reference keyframe.

Member Function Documentation

◆ find()

virtual FrameworkReturnCode SolAR::api::solver::pose::I2D3DCorrespondencesFinder::find ( const SRef< SolAR::datastructure::Frame lastFrame,
const SRef< SolAR::datastructure::Frame currentFrame,
const std::vector< SolAR::datastructure::DescriptorMatch > &  current_matches,
std::vector< SolAR::datastructure::Point3Df > &  shared_3dpoint,
std::vector< SolAR::datastructure::Point2Df > &  shared_2dpoint,
std::vector< std::pair< uint32_t, SRef< SolAR::datastructure::CloudPoint > > > &  corres2D3D,
std::vector< SolAR::datastructure::DescriptorMatch > &  found_matches,
std::vector< SolAR::datastructure::DescriptorMatch > &  remaining_matches 
)
pure virtual

Define 2D-3D point correspondences of the current frame based on keypoint matches between the current frame and the last frame.

Parameters
[in]lastFrameThe temporally last frame to the current frame.
[in]currentFrameThe current framr for which we want to find 2D-3D correspondances.
[in]currentMatchesThe 2D matches between the current keyframe and its reference keyframe.
[out]shared_3dpointThe 3D points visible from the current frame.
[out]shared_2dpointThe 2D points in the current frame that correspond to 3D points.
[out]corres2D3DThe pairs of 2D-3D correspondences. The first value is the index of keypoint in the current frame and the second one is the corresponding cloud point.
[out]found_matchesThe matches between the current frame and its reference keyframe which have a 3 correspondant.
[out]remaining_matchesThe matches between the current frame and its reference keyframe for which no 3D points have been found.
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

The documentation for this class was generated from the following file: