Commit 18327aed authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #7496 from abratchik:java.wrapper.fix.3.1

parents 4ea27061 8da13031
...@@ -153,8 +153,8 @@ public: ...@@ -153,8 +153,8 @@ public:
@param masks Masks for each input image specifying where to look for keypoints (optional). @param masks Masks for each input image specifying where to look for keypoints (optional).
masks[i] is a mask for images[i]. masks[i] is a mask for images[i].
*/ */
virtual void detect( InputArrayOfArrays images, CV_WRAP virtual void detect( InputArrayOfArrays images,
std::vector<std::vector<KeyPoint> >& keypoints, CV_OUT std::vector<std::vector<KeyPoint> >& keypoints,
InputArrayOfArrays masks=noArray() ); InputArrayOfArrays masks=noArray() );
/** @brief Computes the descriptors for a set of keypoints detected in an image (first variant) or image set /** @brief Computes the descriptors for a set of keypoints detected in an image (first variant) or image set
...@@ -182,8 +182,8 @@ public: ...@@ -182,8 +182,8 @@ public:
descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the
descriptor for keypoint j-th keypoint. descriptor for keypoint j-th keypoint.
*/ */
virtual void compute( InputArrayOfArrays images, CV_WRAP virtual void compute( InputArrayOfArrays images,
std::vector<std::vector<KeyPoint> >& keypoints, CV_OUT CV_IN_OUT std::vector<std::vector<KeyPoint> >& keypoints,
OutputArrayOfArrays descriptors ); OutputArrayOfArrays descriptors );
/** Detects keypoints and computes the descriptors */ /** Detects keypoints and computes the descriptors */
...@@ -196,6 +196,14 @@ public: ...@@ -196,6 +196,14 @@ public:
CV_WRAP virtual int descriptorType() const; CV_WRAP virtual int descriptorType() const;
CV_WRAP virtual int defaultNorm() 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 //! Return true if detector object is empty
CV_WRAP virtual bool empty() const; CV_WRAP virtual bool empty() const;
}; };
...@@ -878,7 +886,7 @@ public: ...@@ -878,7 +886,7 @@ public:
returned in the distance increasing order. returned in the distance increasing order.
*/ */
CV_WRAP void radiusMatch( InputArray queryDescriptors, InputArray trainDescriptors, 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; InputArray mask=noArray(), bool compactResult=false ) const;
/** @overload /** @overload
...@@ -915,7 +923,7 @@ public: ...@@ -915,7 +923,7 @@ public:
false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, 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. 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 ); InputArrayOfArrays masks=noArray(), bool compactResult=false );
......
...@@ -154,6 +154,26 @@ void Feature2D::detectAndCompute( InputArray, InputArray, ...@@ -154,6 +154,26 @@ void Feature2D::detectAndCompute( InputArray, InputArray,
CV_Error(Error::StsNotImplemented, ""); 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 int Feature2D::descriptorSize() const
{ {
return 0; return 0;
......
...@@ -111,6 +111,7 @@ typedef std::vector<std::vector<Point> > vector_vector_Point; ...@@ -111,6 +111,7 @@ typedef std::vector<std::vector<Point> > vector_vector_Point;
typedef std::vector<std::vector<Point2f> > vector_vector_Point2f; typedef std::vector<std::vector<Point2f> > vector_vector_Point2f;
typedef std::vector<std::vector<Point3f> > vector_vector_Point3f; typedef std::vector<std::vector<Point3f> > vector_vector_Point3f;
typedef std::vector<std::vector<DMatch> > vector_vector_DMatch; typedef std::vector<std::vector<DMatch> > vector_vector_DMatch;
typedef std::vector<std::vector<KeyPoint> > vector_vector_KeyPoint;
static PyObject* failmsgp(const char *fmt, ...) static PyObject* failmsgp(const char *fmt, ...)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment