【发布时间】:2023-03-18 03:46:01
【问题描述】:
我正在使用opencv FAST角点检测算法
但我对这段代码中的阈值有疑问
fast = cv2.FastFeatureDetector_create(threshold=25)
阈值是什么意思?我们为什么要使用它?
根据opencv我们只是选择一个合适的值
【问题讨论】:
标签: python opencv image-processing
我正在使用opencv FAST角点检测算法
但我对这段代码中的阈值有疑问
fast = cv2.FastFeatureDetector_create(threshold=25)
阈值是什么意思?我们为什么要使用它?
根据opencv我们只是选择一个合适的值
【问题讨论】:
标签: python opencv image-processing
来自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 不能是角。完整的 然后可以将分段测试标准应用于剩余的候选人 通过检查圆圈中的所有像素。
我建议尝试不同的值并查看输出中不同的阈值变化,这是理解阈值含义/值的好方法。
【讨论】: