From e202b1306903c1c0f4c4ae7bcbb1cb73961b228b Mon Sep 17 00:00:00 2001 From: Maria Dimashova Date: Fri, 29 Apr 2011 14:12:17 +0000 Subject: [PATCH] fixed bug in knnMatch method --- modules/features2d/src/matchers.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/features2d/src/matchers.cpp b/modules/features2d/src/matchers.cpp index 27f52a4748..b4adb26d91 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 );