🟧 霍夫圆形检测

功能描述

该算子采用霍夫变换算法,通过分析输入的灰度图像的边缘信息来识别符合圆形特征的区域。

使用场景

  • 零件检测:识别产品上的圆形孔洞、按钮、螺丝孔等。

  • 缺陷检测:查找产品表面的圆形凹坑、气泡或瑕疵。

  • 目标计数与定位:对硬币、药丸等圆形物体进行计数和定位。

输入输出

输入项

输入图像:输入的单通道灰度图像。为获得最佳效果,图像中的圆形边缘应尽可能清晰。

输出项

检测结果:输出一个检测实例列表,每个实例包含一个勾勒出圆形轮廓的多边形。

中心点:一个列表,包含每个检测到的圆形的中心点 [x, y] 坐标。

半径:一个列表,包含每个检测到的圆形的半径(以像素为单位)。

参数说明

检测方法

参数说明

选择霍夫圆检测的具体算法实现。

调参说明

  • 标准霍夫梯度法:利用梯度信息(边缘强度和方向)检测图像中的直线,适用于一般的直线检测任务。

  • 高精度霍夫梯度法:是一种改进算法,通常更精确但计算速度可能更慢。

最小圆心距

参数说明

用于设置两个被检测出的圆的圆心之间所允许的最小距离,避免对同一个圆产生多个重叠的检测结果。

调参说明

  • 值过小: 可能会在同一个真实圆的附近检测出多个相邻的"假"圆。

  • 值过大: 如果多个圆靠得很近,可能会导致部分圆被漏检。

建议将此值设置为略小于期望检测到的最相邻两个圆的实际圆心距离。

参数范围

[0,800],默认值:200

边缘检测阈值

参数说明

霍夫圆检测使用的边缘检测器的高阈值参数,此值决定了什么样的边缘才被认为是有效的。

调参说明

  • 增大此值:只有非常强烈的边缘才会被检测,有助于滤除噪声,但也可能导致较模糊的圆无法被检测到。

  • 减小此值:边缘检测器会更敏感,能找到更微弱的边缘,但可能引入更多由噪声导致的干扰边缘。

参数范围

[0,1000],默认值:200

候选得分阈值

参数说明

圆心累加器的阈值,即判断一个候选圆是否"真实"的置信度分数,只有当构成一个圆的边缘点在参数空间中对某个圆心的"投票数"超过此阈值时,才认为该圆存在。

调参说明

  • 增大此值:检测标准更严格,只有轮廓非常清晰、完整的圆才会被检出,结果更可靠。

  • 减小此值:检测标准更宽松,可以找到更多不完整的或模糊的圆,但误报的可能性也会增加。

目标圆的半径越小,其周长上的像素点越少,此值应设置得越小。

参数范围

[0,1000],默认值:1

最小半径 / 最大半径

参数说明

设定要检测的圆的半径范围。

调参说明

通过设定一个合理的半径范围,可以极大地提高检测的速度和准确性,避免算法在不相关的尺寸上浪费时间。请根据图像中目标圆的实际像素大小来估算并设置这两个值。

参数范围

[1,800],默认值:100/200,单位:像素