Commit b12588f7 authored by Maria Dimashova's avatar Maria Dimashova

fixed MserFeatureDetector

parent c8e93da0
...@@ -202,19 +202,18 @@ void MserFeatureDetector::detect( const Mat& image, vector<KeyPoint>& keypoints, ...@@ -202,19 +202,18 @@ void MserFeatureDetector::detect( const Mat& image, vector<KeyPoint>& keypoints,
{ {
vector<vector<Point> > msers; vector<vector<Point> > msers;
Mat grayImage = image; mser(image, msers, mask);
if( image.type() != CV_8U ) cvtColor( image, grayImage, CV_BGR2GRAY );
mser(grayImage, msers, mask);
keypoints.resize( msers.size() ); keypoints.clear();
vector<vector<Point> >::const_iterator contour_it = msers.begin(); vector<vector<Point> >::const_iterator contour_it = msers.begin();
vector<KeyPoint>::iterator keypoint_it = keypoints.begin(); for( ; contour_it != msers.end(); ++contour_it )
for( ; contour_it != msers.end(); ++contour_it, ++keypoint_it )
{ {
// TODO check transformation from MSER region to KeyPoint // TODO check transformation from MSER region to KeyPoint
RotatedRect rect = fitEllipse(Mat(*contour_it)); RotatedRect rect = fitEllipse(Mat(*contour_it));
*keypoint_it = KeyPoint( rect.center, sqrt(rect.size.height*rect.size.width), rect.angle); float diam = sqrt(rect.size.height*rect.size.width);
if( diam > std::numeric_limits<float>::epsilon() )
keypoints.push_back( KeyPoint( rect.center, diam, rect.angle) );
} }
} }
......
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