Solar
Public Member Functions | List of all members
SolAR::MODULES::OPENCV::SolARDescriptorMatcherGeometricOpencv Class Reference

Matches two sets of descriptors based on geometric constraints. UUID: 389ece8b-9e29-45ae-bd60-de1784ff0931 More...

#include <SolARDescriptorMatcherGeometricOpencv.h>

Inheritance diagram for SolAR::MODULES::OPENCV::SolARDescriptorMatcherGeometricOpencv:
Inheritance graph
[legend]
Collaboration diagram for SolAR::MODULES::OPENCV::SolARDescriptorMatcherGeometricOpencv:
Collaboration graph
[legend]

Public Member Functions

 SolARDescriptorMatcherGeometricOpencv ()
 SolARDescriptorMatcherGeometricOpencv constructor.
 
 ~SolARDescriptorMatcherGeometricOpencv () override
 SolARDescriptorMatcherGeometricOpencv destructor.
 
FrameworkReturnCode match (const SRef< SolAR::datastructure::DescriptorBuffer > descriptors1, const SRef< SolAR::datastructure::DescriptorBuffer > descriptors2, const std::vector< SolAR::datastructure::Keypoint > &undistortedKeypoints1, const std::vector< SolAR::datastructure::Keypoint > &undistortedKeypoints2, const SolAR::datastructure::Transform3Df &pose1, const SolAR::datastructure::Transform3Df &pose2, const SolAR::datastructure::CameraParameters &camParams, std::vector< SolAR::datastructure::DescriptorMatch > &matches, const std::vector< uint32_t > &mask={}) override
 Match two sets of descriptors from two frames based on epipolar constraint. More...
 
void unloadComponent () override
 

Detailed Description

Matches two sets of descriptors based on geometric constraints. UUID: 389ece8b-9e29-45ae-bd60-de1784ff0931

Properties
distanceRatio distance ratio used to keep good matches.
Several matches can correspond to a given keypoint of the first image. The first match with the best score is always retained.
But here, we can also retain the second match if its distance or score is greater than the score of the best match * m_distanceRatio.
type: float; range : [0..MAX FLOAT]; default: default: 0.75f
paddingRatio
type: float; range : [0..MAX FLOAT]; default: 0.003f
matchingDistanceMax
type: float; range : [0..MAX FLOAT]; default: 500.f

Member Function Documentation

◆ match()

FrameworkReturnCode SolAR::MODULES::OPENCV::SolARDescriptorMatcherGeometricOpencv::match ( const SRef< SolAR::datastructure::DescriptorBuffer >  descriptors1,
const SRef< SolAR::datastructure::DescriptorBuffer >  descriptors2,
const std::vector< SolAR::datastructure::Keypoint > &  undistortedKeypoints1,
const std::vector< SolAR::datastructure::Keypoint > &  undistortedKeypoints2,
const SolAR::datastructure::Transform3Df &  pose1,
const SolAR::datastructure::Transform3Df &  pose2,
const SolAR::datastructure::CameraParameters &  camParams,
std::vector< SolAR::datastructure::DescriptorMatch > &  matches,
const std::vector< uint32_t > &  mask = {} 
)
override

Match two sets of descriptors from two frames based on epipolar constraint.

Parameters
[in]descriptors1The first set of descriptors.
[in]descriptors2The second set of descriptors.
[in]undistortedKeypoints1The first set of undistorted keypoints.
[in]undistortedKeypoints2The second set of undistorted keypoints.
[in]pose1The first pose.
[in]pose2The second pose.
[in]camParamsThe intrinsic parameters of the camera.
[out]matchesA vector of matches representing pairs of indices relatively to the first and second set of descriptors.
[in]maskThe indices of descriptors in the first frame are used for matching to the second frame. If it is empty then all will be used.
Returns
FrameworkReturnCode::SUCCESS if matching succeed, else FrameworkReturnCode::_ERROR

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