@param masks Masks for each input image specifying where to look for keypoints (optional).
masks[i] is a mask for images[i].
*/
- virtual void detect( InputArrayOfArrays images,
- std::vector<std::vector<KeyPoint> >& keypoints,
+ CV_WRAP virtual void detect( InputArrayOfArrays images,
+ CV_OUT std::vector<std::vector<KeyPoint> >& keypoints,
InputArrayOfArrays masks=noArray() );
/** @brief Computes the descriptors for a set of keypoints detected in an image (first variant) or image set
descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the
descriptor for keypoint j-th keypoint.
*/
- virtual void compute( InputArrayOfArrays images,
- std::vector<std::vector<KeyPoint> >& keypoints,
+ CV_WRAP virtual void compute( InputArrayOfArrays images,
+ CV_OUT CV_IN_OUT std::vector<std::vector<KeyPoint> >& keypoints,
OutputArrayOfArrays descriptors );
/** Detects keypoints and computes the descriptors */
CV_WRAP virtual int descriptorType() const;
CV_WRAP virtual int defaultNorm() const;
+ CV_WRAP void write( const String& fileName ) const;
+
+ CV_WRAP void read( const String& fileName );
+
+ virtual void write( FileStorage&) const;
+
+ virtual void read( const FileNode&);
+
//! Return true if detector object is empty
CV_WRAP virtual bool empty() const;
};
returned in the distance increasing order.
*/
CV_WRAP void radiusMatch( InputArray queryDescriptors, InputArray trainDescriptors,
- std::vector<std::vector<DMatch> >& matches, float maxDistance,
+ CV_OUT std::vector<std::vector<DMatch> >& matches, float maxDistance,
InputArray mask=noArray(), bool compactResult=false ) const;
/** @overload
false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
the matches vector does not contain matches for fully masked-out query descriptors.
*/
- void radiusMatch( InputArray queryDescriptors, std::vector<std::vector<DMatch> >& matches, float maxDistance,
+ CV_WRAP void radiusMatch( InputArray queryDescriptors, CV_OUT std::vector<std::vector<DMatch> >& matches, float maxDistance,
InputArrayOfArrays masks=noArray(), bool compactResult=false );
CV_Error(Error::StsNotImplemented, "");
}
+void Feature2D::write( const String& fileName ) const
+{
+ FileStorage fs(fileName, FileStorage::WRITE);
+ write(fs);
+}
+
+void Feature2D::read( const String& fileName )
+{
+ FileStorage fs(fileName, FileStorage::READ);
+ read(fs.root());
+}
+
+void Feature2D::write( FileStorage&) const
+{
+}
+
+void Feature2D::read( const FileNode&)
+{
+}
+
int Feature2D::descriptorSize() const
{
return 0;