Opencv Python 简明教程
OpenCV Python - Feature Detection
在图像处理中,特征是图像关键区域的数学描述。它们是图像视觉内容的矢量表示。
特征使得能够对它们进行数学运算。各种计算机视觉应用包括目标检测、运动估计、分割、图像对齐等。
任何图像中的突出特征包括边缘、角或图像的部分。OpenCV 支持 Haris corner detection 和 Shi-Tomasi corner detection 算法。OpenCV 库还提供用于实现 SIFT (尺度不变特征变换)、 SURF (加速稳健特征)和角检测快速算法的功能。
Harris 和 Shi-Tomasi 算法是旋转不变的。即使图像旋转,我们也可以找到相同的角。但是当图像被放大时,图像中的某个角可能不再是角。下图描述了这一点。
D.Lowe 的新算法 Scale Invariant Feature Transform (SIFT)提取关键点并计算其描述符。
这是通过以下步骤实现的 −
-
Scale-space Extrema Detection.
-
Keypoint Localization.
-
Orientation Assignment.
-
Keypoint Descriptor.
-
Keypoint Matching.
至于 OpenCV 中 SIFT 的实现,它从加载图像并将其转换为灰度开始。 cv.SHIFT_create() 函数创建 SIFT 对象。