*/
virtual void write(FileStorage& fs) const { (void)fs; }
+ /** @brief simplified API for language bindings
+ * @overload
+ */
+ CV_WRAP void write(const Ptr<FileStorage>& fs, const String& name = String()) const;
+
/** @brief Reads algorithm parameters from a file storage
*/
- virtual void read(const FileNode& fn) { (void)fn; }
+ CV_WRAP virtual void read(const FileNode& fn) { (void)fn; }
/** @brief Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
*/
- virtual bool empty() const { return false; }
+ CV_WRAP virtual bool empty() const { return false; }
/** @brief Reads algorithm from the file node
virtual void write( FileStorage&) const;
- virtual void read( const FileNode&);
+ // see corresponding cv::Algorithm method
+ CV_WRAP virtual void read( const FileNode&);
//! Return true if detector object is empty
CV_WRAP virtual bool empty() const;
CV_WRAP virtual String getDefaultName() const;
+
+ // see corresponding cv::Algorithm method
+ CV_WRAP inline void write(const Ptr<FileStorage>& fs, const String& name = String()) const { Algorithm::write(fs, name); }
};
/** Feature detectors in OpenCV have wrappers with a common interface that enables you to easily switch
read(fs.root());
}
// Reads matcher object from a file node
- virtual void read( const FileNode& );
+ // see corresponding cv::Algorithm method
+ CV_WRAP virtual void read( const FileNode& );
// Writes matcher object to a file storage
virtual void write( FileStorage& ) const;
CV_WRAP static Ptr<DescriptorMatcher> create( int matcherType );
+
+ // see corresponding cv::Algorithm method
+ CV_WRAP inline void write(const Ptr<FileStorage>& fs, const String& name = String()) const { Algorithm::write(fs, name); }
+
protected:
/**
* Class to work with descriptors from several images as with one merged matrix.