Python opencv进行圆形识别(圆检测)实例代码
目录
前言1 读入图像2 图像预处理3 圆形识别4 显示检测结果5 完整代码和示例图像总结前言
圆形识别(圆检测)是图像识别中很常见的一种处理方式,最核心的是cv2.HoughCircles这个函数实现的圆形检测。当然还有一些其他的处理过程,以下详述:
1 读入图像
首先需要读取一个图像文件,将其作为一个变量
img = cv2.imread("save1.jpg", 0) # 0或者cv2.IMREAD_GRAYSCALE 读取为灰度图像 img2 = cv2.imread("save1.jpg", 1) # 1或者cv2.IMREAD_COLOR 读取为为彩色图像
img是一个ndarray,2维结构,包含的是灰度化后的图像信息
(资料图片)
img2是一个ndarray,3维结构,包含的是RGB彩色图像信息,比img2多出一个色彩维度
如下图,img2是3个方括号“[”
2 图像预处理
可以对图像进行裁切,滤波等处理,当然不处理也可以直接用,以下展示一下:
裁切
size = 400 x1 = 560 y1 = 200 x2 = x1+size y2 = y1+size cut = img[y1:y2, x1:x2]
滤波加二值化
numpy_img = cv2.adaptiveThreshold(cut, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 15) # 自动阈值二值化
显示中间处理过程
有时候我们需要直观的看到中间处理过程的图像样貌,可以随时显示
cv2.imshow("img", img) cv2.imshow("cut", cut) cv2.imshow("numpy_img", numpy_img) cv2.waitKey(0)
注意imshow函数,第一个参数是要显示的窗口的标题,不得用中文和中文标点,必须全英文,否则会乱码,第2个参数是待显示的图像变量
最后一行可以没有,如果有的话,程序会在此等待,直到有按键动作,程序才继续往后运行。这对我们调试比较有用。
3 圆形识别
# 圆心距 canny阈值 投票数 最小半径 最大半径 circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 170, param1=100, param2=60, minRadius=60, maxRadius=90)
大概讲一下重要的几个参数,参数与实际的图像尺寸相关,不是一个参数用所有的图
圆心距:170 圆心距小于此值的圆不检测,以减小计算量
canny阈值:图像二值化的参数,根据实际情况调整
投票数:一个圆需要至少包含多少个点,才认为这是一个圆
最小半径,最大半径:在此值之间的圆才是需要的圆,超过范围不检测,以减小计算量
检测完的结果保存在circles 中
可以自己调整参数以观察结果
4 显示检测结果
没啥好说的,代码很简单,就是对于每个结果画出圆和圆心
arr1 = np.zeros([0, 2], dtype=int) # 创建一个0行, 2列的空数组 if circles is not None: circles = np.uint16(np.around(circles)) # 4舍5入, 然后转为uint16 for i in circles[0, :]: arr1 = np.append(arr1, (i[0], i[1])) # arr1是圆心坐标的np数组 # print(arr1) cv2.circle(img2, (i[0], i[1]), i[2], (0, 0, 255), 3) # 轮廓 cv2.circle(img2, (i[0], i[1]), 2, (0, 0, 0), 6) # 圆心
5 完整代码和示例图像
可以在这里下载:示例代码下载
总结
到此这篇关于Pythonopencv进行圆形识别(圆检测)的文章就介绍到这了,更多相关opencv圆形识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- Python opencv进行圆形识别(圆检测)实例代码
- 啥?小米5G专利排名前十了?华为排名果然没意外 全球热闻
- 工信部:我国工程机械产业正全面向智能化绿色化转型 环球快看
- 【环球播资讯】郑州金水区14595个新建停车泊位点位信息来啦!快来看看有没有你家附近的
- 曲阳县:高级研修班 助推雕塑产业转型升级 天天快看点
- 环球新动态:星座运程|白羊座近日财运强,消费提升
- 买天际ME7还是奕泽E进擎?哪款车配置更丰富?
- 转基因技术论文4000字_转基因技术论文
- 我的十月一作文700_我的十月一作文_环球资讯
- 国足3场小组赛 开球时间确定|时快讯
- 环球资讯:快播大屏幕怎么恢复出厂设置方法-快播大屏幕
- 学生常用法规掌中宝4:刑事诉讼法_2011-2012 世界快看
- 戴拿真的弱尾吗?盘点那些凭借尾巴使戴拿苦战的怪兽
- 湖南通报8起国有企业“一把手”靠企吃企典型案例
- 理想之城的西安探索
- 渭南秦岭保护工作总结范文(精选6篇) 世界热点
- 焦点快播:上交所向*ST榕泰发出问询函
- 五险一金最低缴费标准2023年是交多少钱一个月?具体详情如下
- “她购房”需求走强 84.2%受访者表示近几年身边单身女性购房现象多了
- 北京治疗牛皮癣医院的排名-北京治疗关节炎型牛皮癣医院
- 中巡赛常州网球公开赛:李嘉佑晋级四强
- 阿坝社保缴纳比例表2022-2023年,阿坝社保2023年缴费标准基数及比例一览(表) 天天新资讯
- 让经典诗词“如蒲公英般絮舞时光” 第六届蒲公英文学素养大会在深举行 每日快看
- 地道的近义词_大家一起来学习吧 要闻速递
- 世界热文:12星座易被嫉妒排行,第1名爱撒娇引人不满
- 湖南联益保险代理服务公司执行董事兼总经理张宇任职资格批复
- 天天日报丨今日快讯:商务部再次表态:如美国胁迫盟友共同遏华,将坚决反对
- 公积金利好频发 专家:有助市场恢复 快播
- 焦点热议:G7恰恰是违反破坏国际规则的代表
- 诸城市相州镇:文化演出惠民生 舞出群众幸福生活