【问题标题】:opencv FAST corner detection algorithmopencv FAST 角点检测算法
【发布时间】:2023-03-18 03:46:01
【问题描述】:

我正在使用opencv FAST角点检测算法

但我对这段代码中的阈值有疑问

fast = cv2.FastFeatureDetector_create(threshold=25)

阈值是什么意思?我们为什么要使用它?

根据opencv我们只是选择一个合适的值

【问题讨论】:

    标签: python opencv image-processing


    【解决方案1】:

    来自Rosten E., Drummond T. (2006). Machine learning for high-speed corner detection第二页:

    大多数特征检测算法通过计算一个 图像上的角响应函数 (C)。 像素超过 然后是阈值角值(并且是局部最大值) 保留。

    从第 5 页开始:

    分段测试标准通过考虑 16 个圆来操作 角点候选 p 周围的像素。原始检测器 [2,3] 如果存在一组 n 个连续像素,则将 p 分类为角点 在圆圈中都比强度更亮 候选像素 Ip 加上一个阈值 t,或者都比 Ip - t 暗,如 如图 1 所示。 n 被选为 12,因为它承认 高速测试,可用于排除大量 非角点:测试仅检查 1、5、9 和 13 处的四个像素 (四个罗盘方向)。如果 p 是一个角,那么至少三个 这些都必须比 Ip + t 亮或比 Ip - t 暗。如果 这两种情况都不是,那么 p 不能是角。完整的 然后可以将分段测试标准应用于剩余的候选人 通过检查圆圈中的所有像素。

    我建议尝试不同的值并查看输出中不同的阈值变化,这是理解阈值含义/值的好方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-31
      相关资源
      最近更新 更多