changed the signature of add method according to the base class
authorIlya Lavrenov <ilya.lavrenov@itseez.com>
Sun, 16 Feb 2014 21:37:32 +0000 (01:37 +0400)
committerIlya Lavrenov <ilya.lavrenov@itseez.com>
Sun, 16 Feb 2014 22:39:38 +0000 (02:39 +0400)
modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst
modules/features2d/include/opencv2/features2d.hpp
modules/features2d/src/matchers.cpp

index 9350f6f..b5079b3 100644 (file)
@@ -28,7 +28,7 @@ with an image set. ::
     public:
         virtual ~DescriptorMatcher();
 
-        virtual void add( InputArray descriptors );
+        virtual void add( InputArrayOfArrays descriptors );
 
         const vector<Mat>& getTrainDescriptors() const;
         virtual void clear();
@@ -265,7 +265,7 @@ Flann-based descriptor matcher. This matcher trains :ocv:class:`flann::Index_` o
           const Ptr<flann::IndexParams>& indexParams=new flann::KDTreeIndexParams(),
           const Ptr<flann::SearchParams>& searchParams=new flann::SearchParams() );
 
-        virtual void add( const vector<Mat>& descriptors );
+        virtual void add( InputArrayOfArrays descriptors );
         virtual void clear();
 
         virtual void train();
index 49b5a88..51ef276 100644 (file)
@@ -1157,7 +1157,7 @@ public:
     CV_WRAP FlannBasedMatcher( const Ptr<flann::IndexParams>& indexParams=makePtr<flann::KDTreeIndexParams>(),
                        const Ptr<flann::SearchParams>& searchParams=makePtr<flann::SearchParams>() );
 
-    virtual void add( const std::vector<Mat>& descriptors );
+    virtual void add( InputArrayOfArrays descriptors );
     virtual void clear();
 
     // Reads matcher object from a file node
index 4f97e01..3b3061d 100644 (file)
@@ -1199,9 +1199,12 @@ FlannBasedMatcher::FlannBasedMatcher( const Ptr<flann::IndexParams>& _indexParam
     CV_Assert( _searchParams );
 }
 
-void FlannBasedMatcher::add( const std::vector<Mat>& descriptors )
+void FlannBasedMatcher::add( InputArrayOfArrays _descriptors )
 {
-    DescriptorMatcher::add( descriptors );
+    DescriptorMatcher::add( _descriptors );
+    std::vector<Mat> descriptors;
+    _descriptors.getMatVector(descriptors);
+
     for( size_t i = 0; i < descriptors.size(); i++ )
     {
         addedDescCount += descriptors[i].rows;