• python opencv3 圆检测


    git:https://github.com/linyi0604/Computer-Vision

     1 # coding:utf8
     2 
     3 import cv2
     4 import numpy as np
     5 
     6 img_origin = cv2.imread("../data/circle.jpg")
     7 img_gray = cv2.cvtColor(img_origin, cv2.COLOR_BGR2GRAY)
     8 # 低同滤波进行平滑图像
     9 img = cv2.medianBlur(img_gray, 5)
    10 cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
    11 
    12 circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 120,
    13                            param1=100,param2=30,
    14                            minRadius=0, maxRadius=0)
    15 """
    16 cv2.HoughCircles(image, method, dp, 
    17         minDist, circles, param1, param2, 
    18         minRadius, maxRadius)
    19 参数:
    20     image: 输入图像 必须是灰度图像
    21     method:检测方法,常用CV_HOUGH_GRADIENT
    22     dp:检测内侧圆心的累加器图像的分辨率于输入图像之比的倒数,
    23         如dp=1,累加器和输入图像具有相同的分辨率,如果dp=2,
    24         累计器便有输入图像一半那么大的宽度和高度
    25     minDist: 两个圆心之间的最小距离
    26     param1: 默认100, 是method方法的参数
    27         在CV_HOUGH_GRADIENT表示传入canny边缘检测的阈值
    28     param2: 默认100,method的参数, 
    29         对当前唯一的方法霍夫梯度法cv2.HOUGH_GRADIENT,
    30         它表示在检测阶段圆心的累加器阈值,
    31         它越小,就越可以检测到更多根本不存在的圆,
    32         而它越大的话,能通过检测的圆就更加接近完美的圆形了
    33     minRadius:默认值0,圆半径的最小值
    34     maxRadius:默认值0,圆半径的最大值
    35 返回值:
    36     
    37 """
    38 # 整数化
    39 circles = np.uint16(np.around(circles))
    40 
    41 for i in circles[0, :]:
    42     # 画出外边圆
    43     cv2.circle(img_origin, (i[0], i[1]), i[2], (0, 255, 0), 2)
    44     # 画出圆心
    45     cv2.circle(img_origin, (i[0], i[1]), 2, (0, 0, 255), 3)
    46 
    47 
    48 cv2.imshow("", img_origin)
    49 cv2.waitKey()
    50 cv2.destroyAllWindows()

  • 相关阅读:
    Python中的下划线(转)
    全面Python小抄(转)
    Python函数参数默认值的陷阱和原理深究(转)
    Python中的默认参数(转)
    PEP8 Python 编码规范整理(Python)
    PEP8中文翻译(转)
    这次面试就差不多了,你有什么问题需要问我呢?(转)
    MySQL事务隔离级别,锁(转)
    Web安全学习图径——系列课程推荐
    盗墓笔记—阿里旺旺ActiveX控件imageMan.dll栈溢出漏洞研究
  • 原文地址:https://www.cnblogs.com/Lin-Yi/p/9413520.html
Copyright © 2020-2023  润新知