Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Hough圆中的参数表示什么?如何知道使用哪些值?_Python_Image Processing_Opencv3.0 - Fatal编程技术网

Python Hough圆中的参数表示什么?如何知道使用哪些值?

Python Hough圆中的参数表示什么?如何知道使用哪些值?,python,image-processing,opencv3.0,Python,Image Processing,Opencv3.0,在使用hough圆时,我不太了解如何定义hough圆的参数?我甚至不知道这些参数意味着什么。据我所知 图像:它是源图像 方法:这是它用来检测圆的过程,(除了霍夫梯度之外还有其他方法吗) minDist:是一个圆的两个中心之间的最小距离 minRadius:它是圆的最小半径 maxRadius:它是最大半径 其余的参数我都不明白。有人能帮我解释一下吗。好问题 这是opencv python教程中HoughCircles()函数的一个示例。让我们详细看看 HoughCircles(image,

在使用hough圆时,我不太了解如何定义hough圆的参数?我甚至不知道这些参数意味着什么。据我所知

  • 图像
    :它是源图像
  • 方法
    :这是它用来检测圆的过程,(除了霍夫梯度之外还有其他方法吗)
  • minDist
    :是一个圆的两个中心之间的最小距离
  • minRadius
    :它是圆的最小半径
  • maxRadius
    :它是最大半径
其余的参数我都不明白。有人能帮我解释一下吗。

好问题

这是opencv python教程中HoughCircles()函数的一个示例。让我们详细看看

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()和其他类似函数时,您将花费大量时间调整这些参数,以找到检测图像中圆圈的最佳数字组合。因此,如果您认为您的参数错误,请不要感到沮丧。

请参阅