Commit c46b510f authored by Maria Dimashova's avatar Maria Dimashova

restored 2 methods (for backward compatibility)

parent af28d19b
...@@ -1248,6 +1248,13 @@ public: ...@@ -1248,6 +1248,13 @@ public:
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const = 0; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const = 0;
/*
* Remove keypoints that are not in the mask.
* Helper function, useful when wrapping a library call for keypoint detection that
* does not support a mask argument.
*/
static void removeInvalidPoints( const Mat& mask, vector<KeyPoint>& keypoints );
}; };
class CV_EXPORTS FastFeatureDetector : public FeatureDetector class CV_EXPORTS FastFeatureDetector : public FeatureDetector
...@@ -1258,7 +1265,7 @@ public: ...@@ -1258,7 +1265,7 @@ public:
virtual void write( FileStorage& fs ) const; virtual void write( FileStorage& fs ) const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
int threshold; int threshold;
bool nonmaxSuppression; bool nonmaxSuppression;
...@@ -1291,9 +1298,9 @@ public: ...@@ -1291,9 +1298,9 @@ public:
virtual void write( FileStorage& fs ) const; virtual void write( FileStorage& fs ) const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
Params params; Params params;
}; };
class CV_EXPORTS MserFeatureDetector : public FeatureDetector class CV_EXPORTS MserFeatureDetector : public FeatureDetector
...@@ -1306,7 +1313,7 @@ public: ...@@ -1306,7 +1313,7 @@ public:
virtual void write( FileStorage& fs ) const; virtual void write( FileStorage& fs ) const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
MSER mser; MSER mser;
}; };
...@@ -1321,7 +1328,7 @@ public: ...@@ -1321,7 +1328,7 @@ public:
virtual void write( FileStorage& fs ) const; virtual void write( FileStorage& fs ) const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
StarDetector star; StarDetector star;
}; };
...@@ -1340,7 +1347,7 @@ public: ...@@ -1340,7 +1347,7 @@ public:
virtual void write( FileStorage& fs ) const; virtual void write( FileStorage& fs ) const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
SIFT sift; SIFT sift;
}; };
...@@ -1353,7 +1360,7 @@ public: ...@@ -1353,7 +1360,7 @@ public:
virtual void write( FileStorage& fs ) const; virtual void write( FileStorage& fs ) const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
SURF surf; SURF surf;
}; };
...@@ -1425,9 +1432,9 @@ public: ...@@ -1425,9 +1432,9 @@ public:
// TODO implement read/write // TODO implement read/write
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
Params params; Params params;
}; };
/* /*
...@@ -1451,7 +1458,7 @@ public: ...@@ -1451,7 +1458,7 @@ public:
virtual bool empty() const; virtual bool empty() const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
Ptr<FeatureDetector> detector; Ptr<FeatureDetector> detector;
int maxTotalKeypoints; int maxTotalKeypoints;
...@@ -1472,7 +1479,7 @@ public: ...@@ -1472,7 +1479,7 @@ public:
virtual bool empty() const; virtual bool empty() const;
protected: protected:
virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
Ptr<FeatureDetector> detector; Ptr<FeatureDetector> detector;
int levels; int levels;
...@@ -1655,6 +1662,12 @@ public: ...@@ -1655,6 +1662,12 @@ public:
protected: protected:
virtual void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const = 0; virtual void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const = 0;
/*
* Remove keypoints within borderPixels of an image edge.
*/
static void removeBorderKeypoints( vector<KeyPoint>& keypoints,
Size imageSize, int borderSize );
}; };
/* /*
......
...@@ -89,6 +89,12 @@ bool DescriptorExtractor::empty() const ...@@ -89,6 +89,12 @@ bool DescriptorExtractor::empty() const
return false; return false;
} }
void DescriptorExtractor::removeBorderKeypoints( vector<KeyPoint>& keypoints,
Size imageSize, int borderSize )
{
KeyPointsFilter::runByImageBorder( keypoints, imageSize, borderSize );
}
Ptr<DescriptorExtractor> DescriptorExtractor::create(const string& descriptorExtractorType) Ptr<DescriptorExtractor> DescriptorExtractor::create(const string& descriptorExtractorType)
{ {
DescriptorExtractor* de = 0; DescriptorExtractor* de = 0;
......
...@@ -82,6 +82,11 @@ bool FeatureDetector::empty() const ...@@ -82,6 +82,11 @@ bool FeatureDetector::empty() const
return false; return false;
} }
void FeatureDetector::removeInvalidPoints( const Mat& mask, vector<KeyPoint>& keypoints )
{
KeyPointsFilter::runByPixelsMask( keypoints, mask );
}
Ptr<FeatureDetector> FeatureDetector::create( const string& detectorType ) Ptr<FeatureDetector> FeatureDetector::create( const string& detectorType )
{ {
FeatureDetector* fd = 0; FeatureDetector* fd = 0;
......
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