From f74ef644bc5f3de6a7e6035c25155d6de741a2bf Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 17 Feb 2014 01:37:32 +0400 Subject: [PATCH] changed the signature of add method according to the base class --- .../doc/common_interfaces_of_descriptor_matchers.rst | 4 ++-- modules/features2d/include/opencv2/features2d.hpp | 2 +- modules/features2d/src/matchers.cpp | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst b/modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst index 9350f6f5c..b5079b3c0 100644 --- a/modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst +++ b/modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst @@ -28,7 +28,7 @@ with an image set. :: public: virtual ~DescriptorMatcher(); - virtual void add( InputArray descriptors ); + virtual void add( InputArrayOfArrays descriptors ); const vector& getTrainDescriptors() const; virtual void clear(); @@ -265,7 +265,7 @@ Flann-based descriptor matcher. This matcher trains :ocv:class:`flann::Index_` o const Ptr& indexParams=new flann::KDTreeIndexParams(), const Ptr& searchParams=new flann::SearchParams() ); - virtual void add( const vector& descriptors ); + virtual void add( InputArrayOfArrays descriptors ); virtual void clear(); virtual void train(); diff --git a/modules/features2d/include/opencv2/features2d.hpp b/modules/features2d/include/opencv2/features2d.hpp index 49b5a8833..51ef276d6 100644 --- a/modules/features2d/include/opencv2/features2d.hpp +++ b/modules/features2d/include/opencv2/features2d.hpp @@ -1157,7 +1157,7 @@ public: CV_WRAP FlannBasedMatcher( const Ptr& indexParams=makePtr(), const Ptr& searchParams=makePtr() ); - virtual void add( const std::vector& descriptors ); + virtual void add( InputArrayOfArrays descriptors ); virtual void clear(); // Reads matcher object from a file node diff --git a/modules/features2d/src/matchers.cpp b/modules/features2d/src/matchers.cpp index 4f97e011d..3b3061d1f 100644 --- a/modules/features2d/src/matchers.cpp +++ b/modules/features2d/src/matchers.cpp @@ -1199,9 +1199,12 @@ FlannBasedMatcher::FlannBasedMatcher( const Ptr& _indexParam CV_Assert( _searchParams ); } -void FlannBasedMatcher::add( const std::vector& descriptors ) +void FlannBasedMatcher::add( InputArrayOfArrays _descriptors ) { - DescriptorMatcher::add( descriptors ); + DescriptorMatcher::add( _descriptors ); + std::vector descriptors; + _descriptors.getMatVector(descriptors); + for( size_t i = 0; i < descriptors.size(); i++ ) { addedDescCount += descriptors[i].rows;