Python代码库OpenCV之10圆检测circle detection 霍夫曼(含代码)

blur后进行检测

检测原图

检测原图

代码

import cv2
import numpy as np

filename="D:\\pythondev\\dev\\opencv\\img\\circle.png"
image = cv2.imread(filename)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

blur = cv2.medianBlur(gray, 5)
#circles = cv2.HoughCircles(gray, cv2_HOUGH_GRADIENT, 1, 10)

circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, 1.5, 10)
circles = np.uint16(np.around(circles))

for i in circles[0,:]:
    # draw the outer circle
    cv2.circle(image,(i[0], i[1]), i[2], (255, 0, 0), 2)
    # draw the center of the circle
    cv2.circle(image, (i[0], i[1]), 2, (0, 255, 0), 5)

cv2.imshow('detected circles', image)
cv2.waitKey(0)
cv2.destroy All Windows()

运行效果

image.png

更多精彩代码请关注我的专栏

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容