基于python的opencv霍夫找圆,显示坐标和名称,有超详细注释

本文介绍了一位初学者使用Python的OpenCV库进行霍夫圆检测的经历。作者分享了自己的代码,虽然目前无法处理两圆相切时的外圆相交问题,但提供了详细的注释以帮助理解。代码在Jupyter notebook环境中编写,同时作者在优化过程中遇到一个问题,即相同的for循环在不同上下文中表现不同,对此感到困惑。

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

近来刚接触opencv,组长布置给我一个任务,就是找圆。但是opencv资料很多,基于python的却很少,我找了许多代码都不是太满意,遂自己一行行扣代码,并写上普通人都能看得懂的注释。目前还不能解决两圆相切环境下的外圆相交问题,期待大神指正。下面上代码!我是用jupyter写的

#加载环境包
import cv2
import numpy as np
#图片简单处理
img = cv2.imread('F://test image/4-tiny.jpg')#读取图片
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#灰度化
GrayImage= cv2.medianBlur(GrayImage,5)#中值模糊

#阈值处理,输入图片默认为单通道灰度图片
ret,th1 = cv2.threshold(GrayImage,127,255,cv2.THRESH_BINARY)#固定阈值二值化
#threshold为固定阈值二值化
#第二参数为阈值
#第三参数为当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值(一般情况下,都是256色,所以默认最大为255)
#thresh_binary是基于直方图的二值化操作类型,配合threshold一起使用。此外还有cv2.THRESH_BINARY; cv2.THRESH_BINARY_INV; cv2.THRESH_TRUNC; cv2.THRESH_TOZERO;cv2.THRESH_TOZERO_INV
th2 = cv2.adaptiveThreshold(GrayImage,255,cv2.ADAPTIVE_THRESH_MEAN_C,  cv2.THRESH_BINARY,3,5)  
#a
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值