如何在python中利用opencv识别图片中的圆形

  介绍

本文章向大家介绍如何在python中利用opencv识别图片中的圆形,主要包括如何在python中利用opencv识别图片中的圆形的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

python是什么意思

python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

在图片中识别足球

<李>

dp,用来检测圆心的累加器图像的分辨率于输入图像之比的倒数,且此参数允许创建一个比输入图像分辨率低的累加器。上述文字不好理解的话,来看例子吧,例如,如果dp=1时,累加器和输入图像具有相同的分辨率。如果dp=2,累加器便有输入图像一半那么大的宽度和高度。

<李>

minDist,为霍夫变换检测到的圆的圆心之间的最小距离,即让我们的算法能明显区分的两个不同圆之间的最小距离。这个参数如果太小的话,多个相邻的圆可能被错误地检测成了一个重合的圆。反之,这个参数设置太大的话,某些圆就不能被检测出来了。

<李>

param1,有默认值100。它是方法设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法,它表示传递给精明的边缘检测算子的高阈值,而低阈值为高阈值的一半。

<李>

param2,也有默认值100。它是方法设置的检测方法的对应的参数。对当前唯一的方法霍夫梯度法,它表示在检测阶段圆心的累加器阈值。它越小的话,就可以检测到更多根本不存在的圆,而它越大的话,能通过检测的圆就更加接近完美的圆形了。

<李>

minRadius,默认值0,表示圆半径的最小值。

<李>

maxRadius,也有默认值0,表示圆半径的最大值。

源代码:

#, - *安康;编码:,utf-8  - *安康;   “““,   Created 提醒Tue  Sep  26, 23:15:39  2017年,   ,   @author: tina    “““,   import  cv2    import  numpy  as  np    import  matplotlib.pyplot  as  plt    ,   时间=img  cv2.imread (& # 39; C: \ \ \ \用户蒂娜\ \ \ \图片啊\ \ ball.jpg& # 39;),   时间=gray  cv2.cvtColor (img cv2.COLOR_BGR2GRAY),   ,   plt.subplot (121), plt.imshow(灰色,& # 39;灰色# 39;),   plt.xticks ([]), plt.yticks ([]),   ,   时间=circles1  cv2.HoughCircles(灰色,cv2.HOUGH_GRADIENT 1,   600,param1=100, param2=30, minRadius=80, maxRadius=97),   时间=circles  circles1 (0::),   时间=circles  np.uint16 (np.around(圆圈)),   for 小姐:拷贝圈[:]:,,   cv2.circle才能(img,(我[0],[1]),我[2],(255,0,0),5),   cv2.circle才能(img,(我[0],[1]),2 (255、0255),10),   cv2.rectangle才能(img,(我[0]-[2],[1]+[2]),(我[0]+ [2],[1]- [2]),(255255 0),5),   ,,   print(“圆心坐标“,我[0],[1]),   plt.subplot (122), plt.imshow (img),   plt.xticks ([]), plt.yticks ([])

到此这篇关于如何在python中利用opencv识别图片中的圆形的文章就介绍到这了,更多相关的内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

如何在python中利用opencv识别图片中的圆形