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

本文介绍了如何使用opencv的HoughCircles函数检测图像中的圆形,包括函数参数解释和代码示例。通过Canny边缘检测和霍夫梯度法,实现了对图片中圆的定位和计算其半径及圆心坐标。在实际应用中,例如工业自动化,这种技术具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头条号:人工智能研究所
微信号:启示AI科技

今天我们介绍一个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.HOUGH_GRADIENT,

它表示在检测阶段圆心的累加器阈值,它越小,就越可以检测到更多根本不存在的圆,

而它越大的话,能通过检测的圆就更加接近完美的圆形了

7:minRadius默认值0,圆半径的最小值

8:maxRadius默认值0,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值