Commit 34a18f79 authored by Maria Dimashova's avatar Maria Dimashova

fixed #832

parent 2806db93
...@@ -1630,7 +1630,7 @@ protected: ...@@ -1630,7 +1630,7 @@ protected:
* Remove keypoints within borderPixels of an image edge. * Remove keypoints within borderPixels of an image edge.
*/ */
static void removeBorderKeypoints( vector<KeyPoint>& keypoints, static void removeBorderKeypoints( vector<KeyPoint>& keypoints,
Size imageSize, float borderSize ); Size imageSize, int borderSize );
}; };
/* /*
......
...@@ -54,19 +54,15 @@ namespace cv ...@@ -54,19 +54,15 @@ namespace cv
*/ */
struct RoiPredicate struct RoiPredicate
{ {
RoiPredicate( float _minX, float _minY, float _maxX, float _maxY ) RoiPredicate( const Rect& _r ) : r(_r)
: minX(_minX), minY(_minY), maxX(_maxX), maxY(_maxY)
{} {}
bool operator()( const KeyPoint& keyPt ) const bool operator()( const KeyPoint& keyPt ) const
{ {
Point2f pt = keyPt.pt; return !r.contains( keyPt.pt );
float eps = std::numeric_limits<float>::epsilon();
return (pt.x < minX + eps) || (pt.x >= maxX - eps) ||
(pt.y < minY + eps) || (pt.y >= maxY - eps);
} }
float minX, minY, maxX, maxY; Rect r;
}; };
DescriptorExtractor::~DescriptorExtractor() DescriptorExtractor::~DescriptorExtractor()
...@@ -104,14 +100,13 @@ bool DescriptorExtractor::empty() const ...@@ -104,14 +100,13 @@ bool DescriptorExtractor::empty() const
} }
void DescriptorExtractor::removeBorderKeypoints( vector<KeyPoint>& keypoints, void DescriptorExtractor::removeBorderKeypoints( vector<KeyPoint>& keypoints,
Size imageSize, float borderSize ) Size imageSize, int borderSize )
{ {
if( borderSize > 0) if( borderSize > 0)
{ {
keypoints.erase( remove_if(keypoints.begin(), keypoints.end(), keypoints.erase( remove_if(keypoints.begin(), keypoints.end(),
RoiPredicate(borderSize, borderSize, RoiPredicate(Rect(Point(borderSize, borderSize),
(float)imageSize.width - borderSize, Point(imageSize.width - borderSize, imageSize.height - borderSize)))),
(float)imageSize.height - borderSize)),
keypoints.end() ); keypoints.end() );
} }
} }
......
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