原文
http://blog.csdn.net/xiaowei_cqu/article/details/8652096
http://www.tuicool.com/articles/Ajquyi
1.OpenCV提供FeatureDetector实现特征检测及匹配
Ptr<FeatureDetector> FeatureDetector::create(const string& detectorType);
OpenCV 2.4.13提供了10种特征检测方法:
- "FAST" – FastFeatureDetector
- "STAR" – StarFeatureDetector
- "SIFT" – SIFT (nonfree module)
- "SURF" – SURF (nonfree module)
- "ORB" – ORB
- "MSER" – MSER
- "GFTT" – GoodFeaturesToTrackDetector
- "HARRIS" – GoodFeaturesToTrackDetector with Harris detector enabled
- "Dense" – DenseFeatureDetector
- "SimpleBlob" – SimpleBlobDetector
图片中的特征大体可分为三种:点特征、线特征、块特征。
FAST算法是Rosten提出的一种快速提取的点特征,Harris与GFTT也是点特征,更具体来说是角点特征( 参考这里 )。
SimpleBlob是简单块特征,可以通过设置 SimpleBlobDetector的参数决定提取图像块的主要性质,提供5种:
颜色 By color、面积 By area、圆形度 By circularity、最大inertia (不知道怎么翻译)与最小inertia的比例 By ratio of the minimum inertia to maximum inertia、以及凸性 By convexity.
最常用的当属SIFT,尺度不变特征匹配算法( 参考这里 );以及后来发展起来的SURF,都可以看做较为复杂的块特征。这两个算法在OpenCV nonfree的模块里面,需要在附件引用项中添加opencv_nonfree243.lib,同时在代码中加入:
initModule_nonfree();
时间: 2024-10-12 04:23:45