OpenCV  4.1.1-pre
Open Source Computer Vision
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!
cv::detail::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 <opencv2/stitching/detail/matchers.hpp>

Inheritance diagram for cv::detail::BestOf2NearestMatcher:
Collaboration diagram for cv::detail::BestOf2NearestMatcher:

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. More...
 
void collectGarbage () CV_OVERRIDE
 Frees unused memory allocated before if there is any. More...
 
bool isThreadSafe () const
 
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. More...
 
void operator() (const std::vector< ImageFeatures > &features, std::vector< MatchesInfo > &pairwise_matches, const cv::UMat &mask=cv::UMat())
 Performs images matching. More...
 

Static Public Member Functions

static Ptr< BestOf2NearestMatchercreate (bool try_use_gpu=false, float match_conf=0.3f, int num_matches_thresh1=6, int num_matches_thresh2=6)
 

Protected Member Functions

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

Protected Attributes

Ptr< FeaturesMatcherimpl_
 
bool is_thread_safe_
 
int num_matches_thresh1_
 
int num_matches_thresh2_
 

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

Constructor & Destructor Documentation

◆ BestOf2NearestMatcher()

cv::detail::BestOf2NearestMatcher::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

◆ collectGarbage()

void cv::detail::BestOf2NearestMatcher::collectGarbage ( )
virtual

Frees unused memory allocated before if there is any.

Reimplemented from cv::detail::FeaturesMatcher.

◆ create()

static Ptr<BestOf2NearestMatcher> cv::detail::BestOf2NearestMatcher::create ( bool  try_use_gpu = false,
float  match_conf = 0.3f,
int  num_matches_thresh1 = 6,
int  num_matches_thresh2 = 6 
)
static

◆ isThreadSafe()

bool cv::detail::FeaturesMatcher::isThreadSafe ( ) const
inlineinherited
Returns
True, if it's possible to use the same matcher instance in parallel, false otherwise

◆ match()

void cv::detail::BestOf2NearestMatcher::match ( const ImageFeatures features1,
const ImageFeatures features2,
MatchesInfo matches_info 
)
protectedvirtual

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 cv::detail::FeaturesMatcher.

Reimplemented in cv::detail::AffineBestOf2NearestMatcher.

◆ operator()() [1/2]

void cv::detail::FeaturesMatcher::operator() ( const ImageFeatures features1,
const ImageFeatures features2,
MatchesInfo matches_info 
)
inlineinherited

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

References CV_OUT, CV_WRAP_AS, and cv::gapi::mask().

Here is the call graph for this function:

◆ operator()() [2/2]

void cv::detail::FeaturesMatcher::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

Member Data Documentation

◆ impl_

Ptr<FeaturesMatcher> cv::detail::BestOf2NearestMatcher::impl_
protected

◆ is_thread_safe_

bool cv::detail::FeaturesMatcher::is_thread_safe_
protectedinherited

◆ num_matches_thresh1_

int cv::detail::BestOf2NearestMatcher::num_matches_thresh1_
protected

◆ num_matches_thresh2_

int cv::detail::BestOf2NearestMatcher::num_matches_thresh2_
protected

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