利用opencv用于识别圆并计算圆的半径和圆心的坐标_计算机视觉,opencv 圆形检测…

  • Post author:
  • Post category:其他


今天我们介绍一个opencv 函数cv2.HoughCircles(),此函数主要用于检测图像中的圆形,我们知道3点可以画一个圆,学习CAD的同学肯定知道,opencv使用霍夫梯度的方法进行圆的检测

首先对图像进行canny边缘检测,对边缘中的每一个非0点,通过Sobel算法计算局部梯度。那么计算得到的梯度方向,实际上就是圆切线的法线。三条法线即可确定一个圆心,同理在累加器中对圆心通过的法线进行累加,就得到了圆环的判定。

cv2.HoughCircles函数:

cv2.HoughCircles(image, method, dp, minDist, circles, param1, param2, minRadius, maxRadius)

1:image为输入图像,需要灰度图

2:method为检测方法:CV_HOUGH_GRADIENT

3:dp为检测内侧圆心的累加器图像的分辨率于输入图像之比的倒数,

如dp=1,累加器和输入图像具有相同的分辨率

如果dp=2,累计器便有输入图像一半的分辨率

4:minDist表示两个圆之间圆心的最小距离

5:param1默认值100,它是method设置的检测方法的对应的参数,

当前唯一的方法霍夫梯度法cv2.HOUGH_GRADIENT,

它表示传递给canny边缘检测算子的高阈值,而低阈值为高阈值的一半

6:param2默认值100,它是method设置的检测方法的对应的参数,

当前唯一的方法霍夫梯度法cv2.



版权声明:本文为weixin_39979080原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。