/*
*@function MSER_Detect.cpp
*@brief MSER特征检测
*@author ltc
*@date 19:49 Friday,December 4th,2015
*/
#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\features2d\features2d.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(int argc,char* argv[])
{
Mat image;
image=imread("lena.bmp",IMREAD_COLOR);
if(image.empty())
{
cerr<<"Failure in loading image"<<endl;
return -1;
}
Mat grayImage;
cvtColor(image,grayImage,COLOR_RGB2GRAY);
vector<KeyPoint> keyPoint;
MserFeatureDetector mserDetector;
mserDetector.detect(grayImage,keyPoint);
drawKeypoints(grayImage,keyPoint,image,Scalar::all(-1),1);
vector<vector<Point>> regions;
MSER mser;
mser(grayImage,regions,Mat());
for(int i=0;i<regions.size();i++)
{
ellipse(image,fitEllipse(regions[i]),Scalar(0,0,255));
}
imshow("MSER",image);
waitKey(0);
return 0;
}
实验结果: