Python Hough圆中的参数表示什么?如何知道使用哪些值?
在使用hough圆时,我不太了解如何定义hough圆的参数?我甚至不知道这些参数意味着什么。据我所知Python Hough圆中的参数表示什么?如何知道使用哪些值?,python,image-processing,opencv3.0,Python,Image Processing,Opencv3.0,在使用hough圆时,我不太了解如何定义hough圆的参数?我甚至不知道这些参数意味着什么。据我所知 图像:它是源图像 方法:这是它用来检测圆的过程,(除了霍夫梯度之外还有其他方法吗) minDist:是一个圆的两个中心之间的最小距离 minRadius:它是圆的最小半径 maxRadius:它是最大半径 其余的参数我都不明白。有人能帮我解释一下吗。好问题 这是opencv python教程中HoughCircles()函数的一个示例。让我们详细看看 HoughCircles(image,
:它是源图像图像
:这是它用来检测圆的过程,(除了霍夫梯度之外还有其他方法吗)方法
:是一个圆的两个中心之间的最小距离minDist
:它是圆的最小半径minRadius
:它是最大半径maxRadius
HoughCircles(image, method, dp, minDist[, param1[, param2[, minRadius[, maxRadius]]]]])
图像
这是要从中检测圆的输入图像。强烈建议将图像灰度化,因为HoughCircles()使用Canny()函数检测图像中的边缘
方法
这是用来求圆的数学公式。HoughCircle中唯一可用的公式是cv2.HOUGH_GRADIENT,因此除了使用它,您没有其他选择
dp
看看这个答案。如果你不明白,别担心。Hough变换是一个广泛的主题,如果你想知道这个变量的含义,我建议你更详细地研究它,但是无论如何,这个变量应该在0和2之间,并且是double类型,所以尝试使用0.6或1.3这样的数字
心灵主义者
这是要检测的圆心之间的最小距离。你图像中的圆圈有多近?您希望该功能检测紧密连接的圆还是远连接的圆
param1和param2
如前所述,HoughCircles()在内部使用Canny()函数。这些参数指定检测边缘的力度
Canny操作符中使用的阈值器使用一个名为
“滞后”。大多数阈值器使用单一阈值限制,这
表示如果边缘值在该值上下波动,则该线
将出现破损(通常称为“条纹”)。迟滞
通过设置边缘值上限和下限来计数条纹。
考虑线段,如果值高于上限阈值
限制它立即被接受。如果该值低于下限
阈值立即被拒绝。介于两者之间的点
如果限制连接到显示的像素,则接受限制
反应强烈
最小半径和最大半径
圆的大小由其半径表示。半径越大,圆越大,反之亦然。这些参数指定要检测的圆的大小范围
最后
在使用HoughCircles()和其他类似函数时,您将花费大量时间调整这些参数,以找到检测图像中圆圈的最佳数字组合。因此,如果您认为您的参数错误,请不要感到沮丧。请参阅