OpenCV  4.7.0
Open Source Computer Vision
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cv::detail::FeaturesMatcher Class Referenceabstract

Feature matchers base class. More...

#include <opencv2/stitching/detail/matchers.hpp>

Inheritance diagram for cv::detail::FeaturesMatcher:
cv::detail::BestOf2NearestMatcher cv::detail::AffineBestOf2NearestMatcher cv::detail::BestOf2NearestRangeMatcher

Public Member Functions

virtual ~FeaturesMatcher ()
 
virtual void collectGarbage ()
 Frees unused memory allocated before if there is any. More...
 
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

 FeaturesMatcher (bool is_thread_safe=false)
 
virtual void match (const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo &matches_info)=0
 This method must implement matching logic in order to make the wrappers detail::FeaturesMatcher::operator()_ work. More...
 
virtual void match (const std::vector< ImageFeatures > &features, std::vector< MatchesInfo > &pairwise_matches, const cv::UMat &mask=cv::UMat())
 This method implements logic to match features between arbitrary number of features. By default this checks every pair of inputs in the input, but the behaviour can be changed by subclasses. More...
 

Protected Attributes

bool is_thread_safe_
 

Detailed Description

Feature matchers base class.

Constructor & Destructor Documentation

◆ ~FeaturesMatcher()

virtual cv::detail::FeaturesMatcher::~FeaturesMatcher ( )
inlinevirtual

◆ FeaturesMatcher()

cv::detail::FeaturesMatcher::FeaturesMatcher ( bool  is_thread_safe = false)
inlineprotected

Member Function Documentation

◆ collectGarbage()

virtual void cv::detail::FeaturesMatcher::collectGarbage ( )
inlinevirtual
Python:
cv.detail.FeaturesMatcher.collectGarbage() -> None

Frees unused memory allocated before if there is any.

Reimplemented in cv::detail::BestOf2NearestMatcher.

◆ isThreadSafe()

bool cv::detail::FeaturesMatcher::isThreadSafe ( ) const
inline
Python:
cv.detail.FeaturesMatcher.isThreadSafe() -> retval
Returns
True, if it's possible to use the same matcher instance in parallel, false otherwise

◆ match() [1/2]

virtual void cv::detail::FeaturesMatcher::match ( const ImageFeatures features1,
const ImageFeatures features2,
MatchesInfo matches_info 
)
protectedpure 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

Implemented in cv::detail::AffineBestOf2NearestMatcher, and cv::detail::BestOf2NearestMatcher.

◆ match() [2/2]

virtual void cv::detail::FeaturesMatcher::match ( const std::vector< ImageFeatures > &  features,
std::vector< MatchesInfo > &  pairwise_matches,
const cv::UMat mask = cv::UMat() 
)
protectedvirtual

This method implements logic to match features between arbitrary number of features. By default this checks every pair of inputs in the input, but the behaviour can be changed by subclasses.

Parameters
featuresvector of image features
pairwise_matchesfound matches
mask(optional) mask indicating which image pairs should be matched

Reimplemented in cv::detail::BestOf2NearestRangeMatcher.

◆ operator()() [1/2]

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

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

◆ operator()() [2/2]

void cv::detail::FeaturesMatcher::operator() ( const std::vector< ImageFeatures > &  features,
std::vector< MatchesInfo > &  pairwise_matches,
const cv::UMat mask = cv::UMat() 
)
inline

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

◆ is_thread_safe_

bool cv::detail::FeaturesMatcher::is_thread_safe_
protected

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