class cv::detail::AffineBestOf2NearestMatcher
Overview
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 <matchers.hpp> class AffineBestOf2NearestMatcher: public cv::detail::BestOf2NearestMatcher { public: // construction AffineBestOf2NearestMatcher( bool full_affine = false, bool try_use_gpu = false, float match_conf = 0.3f, int num_matches_thresh1 = 6 ); protected: // fields bool full_affine_; // methods virtual void match( const ImageFeatures& features1, const ImageFeatures& features2, MatchesInfo& matches_info ); };
Inherited Members
public: // methods virtual void collectGarbage(); 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() ); virtual void collectGarbage(); protected: // fields bool is_thread_safe_; Ptr<FeaturesMatcher> impl_; int num_matches_thresh1_; int num_matches_thresh2_; // methods virtual void match( const ImageFeatures& features1, const ImageFeatures& features2, MatchesInfo& matches_info ) = 0; virtual void match( const ImageFeatures& features1, const ImageFeatures& features2, MatchesInfo& matches_info );
Detailed Documentation
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
Construction
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.
Parameters:
full_affine | whether 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_gpu | Should try to use GPU or not |
match_conf | Match distances ration threshold |
num_matches_thresh1 | Minimum number of matches required for the 2D affine transform estimation used in the inliers classification step |
See also:
Methods
virtual 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.
Parameters:
features1 | first image features |
features2 | second image features |
matches_info | found matches |