问题描述
在霍夫变换期间,您将输入图像变换为所谓的霍夫空间。尝试查找圆时,它是3维的(三个维是圆心和半径的坐标)。在转换期间,输入图像中的每个边缘像素都会对像素可能位于的所有可能的圆圈进行投票。
您可以将投票视为在3维矩阵(宽空间)内增加多个值。投票后,您将在此矩阵内搜索最大值,并读取圆心及其半径。
矩阵越大(与您的输入图像相比)(您的越小dp
),您的投票分辨率就越高。分辨率越高,圆圈检测越准确。
但是,检测越准确,就越有可能遗漏稍微退化的圆圈或检测多个圆圈而不是边缘较大的圆圈。
解决方法
OpenCV文档指出:
dp:累加器分辨率与图像分辨率的反比。例如,如果dp = 1,则累加器具有与输入图像相同的分辨率。如果dp = 2,则累加器的宽度和高度是其一半。
但是,它没有指示该值的大小如何影响圆检测。我以为累加器只是一个最大值的集合,它有什么分辨率?