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

Filters a set of matches based on geometric constraints. UUID: 3731691e-2c4c-4d37-a2ce-06d1918f8d41 More...

#include <SolARGeometricMatchesFilterOpencv.h>

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

Public Member Functions

 SolARGeometricMatchesFilterOpencv ()
 SolARGeometricMatchesFilterOpencv constructor.
 
 ~SolARGeometricMatchesFilterOpencv ()
 SolARGeometricMatchesFilterOpencv destructor.
 
void filter (const std::vector< datastructure::DescriptorMatch > &inputMatches, std::vector< datastructure::DescriptorMatch > &outputMatches, const std::vector< datastructure::Keypoint > &inputKeyPointsA, const std::vector< datastructure::Keypoint > &inputKeyPointsB) override
 filter matches based fundamental matrix assumptions. This filter removes all outliers matches which give high reprojection error. More...
 
virtual void filter (const std::vector< datastructure::DescriptorMatch > &inputMatches, std::vector< datastructure::DescriptorMatch > &outputMatches, const std::vector< datastructure::Keypoint > &inputKeyPoints1, const std::vector< datastructure::Keypoint > &inputKeyPoints2, const datastructure::Transform3Df &pose1, const datastructure::Transform3Df &pose2, const datastructure::CamCalibration &intrinsicParams) override
 filter matches based fundamental matrix calculated from camera matrices More...
 
void unloadComponent () override final
 

Detailed Description

Filters a set of matches based on geometric constraints. UUID: 3731691e-2c4c-4d37-a2ce-06d1918f8d41

Properties
confidence The desirable level of confidence (propability) that the estimated matrix is correct.
type: float; range : [0..1]; default: 0.99f
outlierDistanceRatio Here we are using a RANSAC method to keep only inliers matches.
This attribute is the ratio between the maximum distance in pixels between source points and the maximum distance in pixels to the epipolar line for which point is considered as a outlier.
The higher is this ratio, the more you will keep inliers to estimate your 2D transform, but the less this estimation will be correct.
By default, this value is set to the one proposed by [Snavely07 4.1]
type: float; range : [0..MAX FLOAT]; default: 0.006f
epilinesDistance threshold to valid matches based on distance to epilines
type: float; range : [0..MAX_FLOAT]; default: 10.f

Member Function Documentation

◆ filter() [1/2]

virtual void SolAR::MODULES::OPENCV::SolARGeometricMatchesFilterOpencv::filter ( const std::vector< datastructure::DescriptorMatch > &  inputMatches,
std::vector< datastructure::DescriptorMatch > &  outputMatches,
const std::vector< datastructure::Keypoint > &  inputKeyPoints1,
const std::vector< datastructure::Keypoint > &  inputKeyPoints2,
const datastructure::Transform3Df &  pose1,
const datastructure::Transform3Df &  pose2,
const datastructure::CamCalibration &  intrinsicParams 
)
overridevirtual

filter matches based fundamental matrix calculated from camera matrices

Parameters
[in]Originalmatches found between two descriptors "desc_1" and "desc_2".
[out]Filtredmatches based on geometric relations such as epipolar constraint.
[in]Originalkeypoints associated to desc_1.
[in]Originalkeypoints associated to desc_2.
[in]camerapose 1.
[in]camerapose 2.
[in]camera'sintrinsic parameters.

◆ filter() [2/2]

void SolAR::MODULES::OPENCV::SolARGeometricMatchesFilterOpencv::filter ( const std::vector< datastructure::DescriptorMatch > &  inputMatches,
std::vector< datastructure::DescriptorMatch > &  outputMatches,
const std::vector< datastructure::Keypoint > &  inputKeyPointsA,
const std::vector< datastructure::Keypoint > &  inputKeyPointsB 
)
override

filter matches based fundamental matrix assumptions. This filter removes all outliers matches which give high reprojection error.

Parameters
[in]Originalmatches found between two descriptors "desc_1" and "desc_2".
[out]Filtredmatches based on geometric relations such as epipolar constraint.
[in]Originalkeypoints associated to desc_1.
[in]Originalkeypoints associated to desc_2.

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