diff --git a/modules/features2d/src/matchers.cpp b/modules/features2d/src/matchers.cpp index 27f52a474..b4adb26d9 100755 --- a/modules/features2d/src/matchers.cpp +++ b/modules/features2d/src/matchers.cpp @@ -264,13 +264,13 @@ void DescriptorMatcher::checkMasks( const vector& masks, int queryDescripto void DescriptorMatcher::knnMatch( const Mat& queryDescriptors, vector >& matches, int knn, const vector& masks, bool compactResult ) { - matches.clear(); - if( empty() || queryDescriptors.empty() ) - return; + matches.clear(); + if( empty() || queryDescriptors.empty() ) + return; - CV_Assert( knn > 0 ); + CV_Assert( knn > 0 ); - checkMasks( masks, queryDescriptors.rows ); + checkMasks( masks, queryDescriptors.rows ); train(); knnMatchImpl( queryDescriptors, matches, knn, masks, compactResult ); @@ -279,13 +279,13 @@ void DescriptorMatcher::knnMatch( const Mat& queryDescriptors, vector >& matches, float maxDistance, const vector& masks, bool compactResult ) { - matches.empty(); - if( empty() || queryDescriptors.empty() ) - return; + matches.clear(); + if( empty() || queryDescriptors.empty() ) + return; - CV_Assert( maxDistance > std::numeric_limits::epsilon() ); + CV_Assert( maxDistance > std::numeric_limits::epsilon() ); - checkMasks( masks, queryDescriptors.rows ); + checkMasks( masks, queryDescriptors.rows ); train(); radiusMatchImpl( queryDescriptors, matches, maxDistance, masks, compactResult );