OpenCV  3.4.18
Open Source Computer Vision
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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:
cv::detail::BestOf2NearestMatcher cv::detail::FeaturesMatcher

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 transformation between images. More...
 
- Public Member Functions inherited from 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. More...
 
void collectGarbage () CV_OVERRIDE
 Frees unused memory allocated before if there is any. More...
 
- Public Member Functions inherited from cv::detail::FeaturesMatcher
virtual ~FeaturesMatcher ()
 
bool isThreadSafe () const
 
void operator() (const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo &matches_info)
 
void operator() (const std::vector< ImageFeatures > &features, std::vector< MatchesInfo > &pairwise_matches, const cv::UMat &mask=cv::UMat())
 Performs images matching. More...
 

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 Member Functions inherited from cv::detail::FeaturesMatcher
 FeaturesMatcher (bool is_thread_safe=false)
 

Protected Attributes

bool full_affine_
 
- Protected Attributes inherited from cv::detail::BestOf2NearestMatcher
Ptr< FeaturesMatcherimpl_
 
int num_matches_thresh1_
 
int num_matches_thresh2_
 
- Protected Attributes inherited from cv::detail::FeaturesMatcher
bool is_thread_safe_
 

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 transformation 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 transformation 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

Member Function Documentation

◆ 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.

Member Data Documentation

◆ full_affine_

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

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