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

Matches two sets of descriptors based on region constraints. UUID: a12a8706-299b-4981-b12b-60717ef3b160 More...

#include <SolARDescriptorMatcherRegionOpencv.h>

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

Public Member Functions

 SolARDescriptorMatcherRegionOpencv ()
 SolARDescriptorMatcherRegionOpencv constructor.
 
 ~SolARDescriptorMatcherRegionOpencv () override
 SolARDescriptorMatcherRegionOpencv destructor.
 
FrameworkReturnCode match (const SRef< SolAR::datastructure::DescriptorBuffer > descriptors1, const SRef< SolAR::datastructure::DescriptorBuffer > descriptors2, const std::vector< SolAR::datastructure::Point2Df > &points2D1, const std::vector< SolAR::datastructure::Point2Df > &points2D2, std::vector< SolAR::datastructure::DescriptorMatch > &matches, const float radius=-1.f, const float matchingDistanceMax=-1.f) override
 Match each descriptor of the first set to descriptors in its searching region of the second set. More...
 
void unloadComponent () override
 

Detailed Description

Matches two sets of descriptors based on region constraints. UUID: a12a8706-299b-4981-b12b-60717ef3b160

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
radius
type: float; range : [0..MAX FLOAT]; default: 0.5f
matchingDistanceMax
type: float; range : [0..MAX FLOAT]; default: 500.f

Member Function Documentation

◆ match()

FrameworkReturnCode SolAR::MODULES::OPENCV::SolARDescriptorMatcherRegionOpencv::match ( const SRef< SolAR::datastructure::DescriptorBuffer >  descriptors1,
const SRef< SolAR::datastructure::DescriptorBuffer >  descriptors2,
const std::vector< SolAR::datastructure::Point2Df > &  points2D1,
const std::vector< SolAR::datastructure::Point2Df > &  points2D2,
std::vector< SolAR::datastructure::DescriptorMatch > &  matches,
const float  radius = -1.f,
const float  matchingDistanceMax = -1.f 
)
override

Match each descriptor of the first set to descriptors in its searching region of the second set.

Parameters
[in]descriptors1The first set of descriptors.
[in]descriptors2The second set of descriptors.
[in]points2D1The positions of the first set of descriptors.
[in]points2D2The positions of the second set of descriptors.
[out]matchesA vector of matches representing pairs of indices relatively to the first and second set of descriptors.
[in]radiusthe radius of search region around each keypoint of the first set.
[in]matchingDistanceMaxthe maximum distance to valid a match.
Returns
FrameworkReturnCode::SUCCESS if matching succeed, else FrameworkReturnCode::_ERROR

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