'''
实验名称：圆形检测
实验平台：核桃派1B
'''

import cv2
import numpy as np

img0 = cv2.imread('circle.jpg') #读取图像
#cv2.imshow('circle', img0) #显示原图像

#将彩色图像转化为灰度图像（单通道）
img1 = cv2.cvtColor(img0, cv2.COLOR_BGR2GRAY)
#cv2.imshow('gray', img1) #显示图像

#检测圆形
circles = cv2.HoughCircles(img1, cv2.HOUGH_GRADIENT, 1, 50, 100, 25)

#将所有坐标和半信息取整数
circles = np.uint(np.around(circles))

print(circles) #打印线段信息

#在原始图像画圆
for c in circles[0]:    
    x, y, r = c
    cv2.circle(img0, (x, y), 2, (0,255,0), 3) #画圆心
    cv2.circle(img0, (x, y), r, (0,255,0), 3) #画圆环

cv2.imshow('result', img0) #显示图像

cv2.waitKey() #等待键盘任意按键按下
cv2.destroyAllWindows() #关闭窗口
