python+opencv识别图片中的圆形


Posted in Python onMarch 25, 2020

本文实例为大家分享了python+opencv识别图片中足球的方法,供大家参考,具体内容如下

先补充下霍夫圆变换的几个参数知识:

  • dp,用来检测圆心的累加器图像的分辨率于输入图像之比的倒数,且此参数允许创建一个比输入图像分辨率低的累加器。上述文字不好理解的话,来看例子吧。例如,如果dp= 1时,累加器和输入图像具有相同的分辨率。如果dp=2,累加器便有输入图像一半那么大的宽度和高度。
  • minDist,为霍夫变换检测到的圆的圆心之间的最小距离,即让我们的算法能明显区分的两个不同圆之间的最小距离。这个参数如果太小的话,多个相邻的圆可能被错误地检测成了一个重合的圆。反之,这个参数设置太大的话,某些圆就不能被检测出来了。
  • param1,有默认值100。它是method设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法,它表示传递给canny边缘检测算子的高阈值,而低阈值为高阈值的一半。
  • param2,也有默认值100。它是method设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法,它表示在检测阶段圆心的累加器阈值。它越小的话,就可以检测到更多根本不存在的圆,而它越大的话,能通过检测的圆就更加接近完美的圆形了。
  • minRadius,默认值0,表示圆半径的最小值。
  • maxRadius,也有默认值0,表示圆半径的最大值。

源代码:

# -*- coding: utf-8 -*- 
""" 
Created on Tue Sep 26 23:15:39 2017 
 
@author: tina 
""" 
import cv2 
import numpy as np 
import matplotlib.pyplot as plt 
 
img = cv2.imread('C:\\Users\\tina\\Pictures\\ahh\\ball.jpg') 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
 
plt.subplot(121),plt.imshow(gray,'gray') 
plt.xticks([]),plt.yticks([]) 
 
circles1 = cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT,1, 
600,param1=100,param2=30,minRadius=80,maxRadius=97) 
circles = circles1[0,:,:] 
circles = np.uint16(np.around(circles)) 
for i in circles[:]: 
 cv2.circle(img,(i[0],i[1]),i[2],(255,0,0),5) 
 cv2.circle(img,(i[0],i[1]),2,(255,0,255),10) 
 cv2.rectangle(img,(i[0]-i[2],i[1]+i[2]),(i[0]+i[2],i[1]-i[2]),(255,255,0),5) 
 
print("圆心坐标",i[0],i[1]) 
plt.subplot(122),plt.imshow(img) 
plt.xticks([]),plt.yticks([])

原图:

python+opencv识别图片中的圆形

识别后效果:

python+opencv识别图片中的圆形

更多图片识别精彩内容请点击专题: 《python图片处理操作》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python统计列表中的重复项出现的次数的方法
Aug 18 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
Numpy之文件存取的示例代码
Aug 03 Python
python实现停车管理系统
Nov 30 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
Python简易版图书管理系统
Aug 12 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Pytest测试框架基本使用方法详解
Nov 25 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 #Python
python学习入门细节知识点
Mar 29 #Python
Python实现加载及解析properties配置文件的方法
Mar 29 #Python
Python读取properties配置文件操作示例
Mar 29 #Python
Python实现读取Properties配置文件的方法
Mar 29 #Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 #Python
教你使用python画一朵花送女朋友
Mar 29 #Python
You might like
本地计算机无法启动Apache故障处理
2014/08/08 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
JavaScript 事件对象的实现
2009/07/13 Javascript
JavaScript this 深入理解
2009/07/30 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
Python json格式化打印实现过程解析
2020/07/21 Python
几个SQL的面试题
2014/03/08 面试题
个人优缺点自我评价
2014/01/27 职场文书
欢送退休感言
2014/02/08 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
家长寄语大全
2014/04/02 职场文书
大跃进口号
2014/06/16 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
商务司机岗位职责
2015/04/10 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技