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::AffineBestOf2NearestMatcher Class Reference

Features matcher similar to cv::detail::BestOf2NearestMatcher 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::AffineBestOf2NearestMatcher:
Collaboration diagram for cv::detail::AffineBestOf2NearestMatcher:

Public Member Functions

 AffineBestOf2NearestMatcher (bool full_affine=false, bool try_use_gpu=false, float match_conf=0.3f, int num_matches_thresh1=6)
 Constructs a "best of 2 nearest" matcher that expects affine trasformation between images. 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

bool full_affine_
 
Ptr< FeaturesMatcherimpl_
 
bool is_thread_safe_
 
int num_matches_thresh1_
 
int num_matches_thresh2_
 

Detailed Description

Features matcher similar to cv::detail::BestOf2NearestMatcher 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.

Unlike cv::detail::BestOf2NearestMatcher this matcher uses affine transformation (affine trasformation estimate will be placed in matches_info).

See also
cv::detail::FeaturesMatcher cv::detail::BestOf2NearestMatcher

Constructor & Destructor Documentation

◆ AffineBestOf2NearestMatcher()

cv::detail::AffineBestOf2NearestMatcher::AffineBestOf2NearestMatcher ( bool  full_affine = false,
bool  try_use_gpu = false,
float  match_conf = 0.3f,
int  num_matches_thresh1 = 6 
)
inline

Constructs a "best of 2 nearest" matcher that expects affine trasformation between images.

Parameters
full_affinewhether to use full affine transformation with 6 degress of freedom or reduced transformation with 4 degrees of freedom using only rotation, translation and uniform scaling
try_use_gpuShould try to use GPU or not
match_confMatch distances ration threshold
num_matches_thresh1Minimum number of matches required for the 2D affine transform estimation used in the inliers classification step
See also
cv::estimateAffine2D cv::estimateAffinePartial2D

References CV_OVERRIDE.

Member Function Documentation

◆ collectGarbage()

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

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 
)
staticinherited

◆ 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::AffineBestOf2NearestMatcher::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

Reimplemented from cv::detail::BestOf2NearestMatcher.

◆ 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

◆ full_affine_

bool cv::detail::AffineBestOf2NearestMatcher::full_affine_
protected

◆ impl_

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

◆ is_thread_safe_

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

◆ num_matches_thresh1_

int cv::detail::BestOf2NearestMatcher::num_matches_thresh1_
protectedinherited

◆ num_matches_thresh2_

int cv::detail::BestOf2NearestMatcher::num_matches_thresh2_
protectedinherited

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