python 圆形检测_基于opencv-python的圆形检测

本文介绍了如何使用opencv-python库进行圆形检测。首先通过图像预处理,包括灰度处理、边缘检测和联通区域处理,然后利用霍夫圆变换函数HoughCircles进行圆形检测。在代码示例中,详细解释了各个参数的含义,并展示了实验效果,从原始图像到边缘检测再到最终的圆形检测结果。
摘要由CSDN通过智能技术生成

一、图像基本处理

通常我们获取到的原始图像包含了比较多的背景噪声,影响我们对目标的提取,因此在进行变换前,我们会采取一些预处理方法对图像进行增强,如:

1、灰度处理

2、边缘检测,常用Canny算子;

3、进行联通区域处理;

二、霍夫圆变换

opencv-python提供了HoughCircles函数来完成圆形检测及变换。

cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT,1,50,param1=80,param2=30,minRadius=15,maxRadius=20)

参数1 image:传递图像

参数2 method:默认,不用理解

参数3 dp:默认,不用理解

参数4 minDist:不同圆心的最小距离,单位为像素

参数5 涉及到Canny算法,这里的80为canny算法的上限,这里的canny算法下限自动设置为为上限一半,马上介绍canny算法

参数6 需要理解上面的参考文章,可以认为是需要达到的累加数量

参数7,8 为最小半径和最大半径,避免识别白色的圆圈

三、源码

import cv2

#载入并显示图片

img=cv2.imread('F:/circle/7.jpg')

#cv2.imshow('img',img)

#灰度化

gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值