OpenCV实战——尺度不变特征检测器
- 0. 前言
- 1. SURF 特征检测器
- 2. SIFT 特征检测算法
- 3. 完整代码
- 相关链接
0. 前言
特征检测的不变性是一个重要概念,虽然方向不变性(即使图像旋转也能检测到相同特征点)能够被简单特征点检测器(例如 FAST 特征检测器等)处理,但难以实现在图像尺度改变时特征保持不变。为了解决这一问题,在计算机视觉中引入了尺度不变特征的概念。
无论对象是在哪个比例下拍摄的,不仅要对关键点进行一致的检测,而且还要计算与每个检测到的特征点相关联的尺度因子。理想情况下,对于在两个不同图像上以不同尺度表征的同一对象点,计算出的尺度因子的比率等于它们各自尺度的比率。已经提出了多种尺度不变的特征,本节将介绍 SURF
(Speeded Up Robust Features
) 特征,它不仅具有尺度不变性,而且还具有很高的计算效率。
1. SURF 特征检测器
SURF
特征检测器在 OpenCV
中使用 cv::SURF
函数实现。
(1) 可以通过 c