Renesas / opencv-lib

Dependents:   RZ_A2M_Mbed_samples

Embed: (wiki syntax)

« Back to documentation index

BestOf2NearestMatcher Class Reference

Features matcher which finds two best matches for each feature and leaves the best one only if the ratio between descriptor distances is greater than the threshold match_conf. More...

#include <matchers.hpp>

Inherits cv::detail::FeaturesMatcher.

Inherited by AffineBestOf2NearestMatcher, and BestOf2NearestRangeMatcher.

Public Member Functions

 BestOf2NearestMatcher (bool try_use_gpu=false, float match_conf=0.3f, int num_matches_thresh1=6, int num_matches_thresh2=6)
 Constructs a "best of 2 nearest" matcher.
void collectGarbage ()
 Frees unused memory allocated before if there is any.
void operator() (const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo &matches_info)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void operator() (const std::vector< ImageFeatures > &features, std::vector< MatchesInfo > &pairwise_matches, const cv::UMat &mask=cv::UMat())
 Performs images matching.
bool isThreadSafe () const

Protected Member Functions

void match (const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo &matches_info)
 This method must implement matching logic in order to make the wrappers detail::FeaturesMatcher::operator()_ work.

Detailed Description

Features matcher which finds two best matches for each feature and leaves the best one only if the ratio between descriptor distances is greater than the threshold match_conf.

See also:
detail::FeaturesMatcher

Definition at line 276 of file matchers.hpp.


Constructor & Destructor Documentation

BestOf2NearestMatcher ( bool  try_use_gpu = false,
float  match_conf = 0.3f,
int  num_matches_thresh1 = 6,
int  num_matches_thresh2 = 6 
)

Constructs a "best of 2 nearest" matcher.

Parameters:
try_use_gpuShould try to use GPU or not
match_confMatch distances ration threshold
num_matches_thresh1Minimum number of matches required for the 2D projective transform estimation used in the inliers classification step
num_matches_thresh2Minimum number of matches required for the 2D projective transform re-estimation on inliers

Member Function Documentation

void collectGarbage (  ) [virtual]

Frees unused memory allocated before if there is any.

Reimplemented from FeaturesMatcher.

bool isThreadSafe (  ) const [inherited]
Returns:
True, if it's possible to use the same matcher instance in parallel, false otherwise

Definition at line 249 of file matchers.hpp.

void match ( const ImageFeatures features1,
const ImageFeatures features2,
MatchesInfo matches_info 
) [protected, virtual]

This method must implement matching logic in order to make the wrappers detail::FeaturesMatcher::operator()_ work.

Parameters:
features1first image features
features2second image features
matches_infofound matches

Implements FeaturesMatcher.

Reimplemented in AffineBestOf2NearestMatcher.

void operator() ( const ImageFeatures features1,
const ImageFeatures features2,
MatchesInfo matches_info 
) [inherited]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
features1First image features
features2Second image features
matches_infoFound matches

Definition at line 231 of file matchers.hpp.

void operator() ( const std::vector< ImageFeatures > &  features,
std::vector< MatchesInfo > &  pairwise_matches,
const cv::UMat mask = cv::UMat() 
) [inherited]

Performs images matching.

Parameters:
featuresFeatures of the source images
pairwise_matchesFound pairwise matches
maskMask indicating which image pairs must be matched

The function is parallelized with the TBB library.

See also:
detail::MatchesInfo