(四)OpenCV中的特征检测之Shi-Tomasi角落探测器和良好的特征跟踪

注释:本文翻译自OpenCV3.0.0 document->OpenCV-Python Tutorials,包括对原文档种错误代码的纠正

1.目标

  • 我们将了解一个边角探测器:Shi-Tomasi探测器
  • 学习这个函数:cv2.goodFeaturesToTrack()

2.理论

在上一章中,我们看到了Harris Corner边角探测器。1994年晚些时候,J. Shi and C. Tomasi在他们的论文Good Features to Track中做一些修改,与Harris CornerDetector相比,它显示出更好的结果。Harris Corner探测器的 score function由下式给出:

Shi-Tomasi的建议,与此不同:

如果它大于阈值,则将其视为角落。如果我们将它绘制在空间中,就像我们在Harris Corner Detector中所做的那样,我们得到如下图像:


从图中可以看出,只有当和高于最小值,它才被视为角落(绿色区域)。

3.代码

角点检测,如果你指定它)在图像中找到N个最强点。像往常一样,图像应该是灰度图像。然后指定要查找的角的数量。然后指定质量等级,该等级介于0-1之间的值,其表示角落的最低质量,低于该质量,每个人都被拒绝。然后,我们提供检测到的角落之间的最小欧氏距离。

利用所有这些信息,该函数在图像中找到角点。质量水平以下的所有角落都被拒绝。然后根据质量按降序排列剩余的角落。然后函数取第一个最强角,将最近距离范围内的所有附近角落抛弃并返回N个最强角。

在下面的栗子中,我们将尝试找到25个最佳角点:

猜你喜欢

转载自blog.csdn.net/u014403318/article/details/80563002