我正在使用opencv FAST角点检测算法
但我对此代码中的阈值有疑问
fast = cv2.FastFeatureDetector_create(threshold=25)
门槛是什么意思?为什么我们使用它?
根据opencv我们只选择一个合适的值
答案 0 :(得分:1)
从Rosten E., Drummond T. (2006). Machine learning for high-speed corner detection的第二页开始:
大多数特征检测算法通过计算a来工作 图像上的角响应函数(C)。 超过a的像素数 然后是阈值角度值(并且是局部最大的) 保留强>
和第5页:
分段测试标准通过考虑十六的圆来操作 角落候选人p周围的像素。原始探测器[2,3] 如果存在一组n个连续像素,则将p分类为角 在圆圈中,所有的圆圈都比它的强度更亮 候选像素Ip加上阈值t,或全部比Ip-t暗,如 如图1所示.n被选为12,因为它承认了 高速测试,可用于排除大量的 非角落:测试仅检查1,5,9和13处的四个像素 (四个指南针方向)。如果p是一个角,那么至少有三个 这些都必须比Ip + t更亮或比Ip-t更暗。如果 这些都不是这种情况,那么p不可能是一个角落。满满的 然后,可以将段测试标准应用于剩余的候选者 通过检查圆圈中的所有像素。
我建议尝试不同的值,看看输出中变化的阈值变化是理解阈值含义/值的好方法。