openCV中特征提取的一些类的介绍
-
- FeatureDetetor(特征点提取)
FeatureDetetor是opencv中的一个虚类,其在opencv中类的定义如下:
class CV_EXPORTS FeatureDetector
{
public:
virtual ~FeatureDetector();
void detect( const Mat& image, vector<KeyPoint>& keypoints,
const Mat& mask=Mat() ) const;
void detect( const vector<Mat>& images,
vector<vector<KeyPoint> >& keypoints,
const vector<Mat>& masks=vector<Mat>() ) const;
virtual void read(const FileNode&);
virtual void write(FileStorage&) const;
static Ptr<FeatureDetector> create( const string& detectorType );
protected:
...
};
通过定义FeatureDetector的对象可以使用多种特征检测方法。通过create()函数调用:
Ptr<detector> FeatureDetector::create(const string& detectorType);
/*
其中特征点类型有以下几种。"FAST" – "STAR" – "SIFT" – "SURF" – "ORB" – "BRISK" – "MSER" – "GFTT" – "HARRIS" – "Dense" – "SimpleBlob"
*/
也可以直接用单独的类名定义:
Ptr<FeatureDetector> detector = 单独的类名::create();
/*
单独的类名有:FastFeatureDetector、StarFeatureDetector、SIFT (nonfree module)、SURF (nonfree module)、ORB、BRISK、MSER、GoodFeaturesToTr