霍夫圆检测
代码如下:
# -*- coding=GBK -*-
import cv2 as cv
import numpy as np
#圆检测
def circles_image(image):
dst = cv.pyrMeanShiftFiltering(image, 10, 100)
cimage = cv.cvtColor(dst, cv.COLOR_BGR2GRAY)
circles = cv.HoughCircles(cimage, cv.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)
circles = np.uint16(np.around(circles))
for i in circles[0, :]:
cv.circle(image, (i[0], i[1]), i[2], (0, 0, 255), 2)
cv.circle(image, (i[0], i[1]), 2, (255, 0, 255), 2)
cv.imshow("圆形", image)
src = cv.imread("C://04.jpg")
cv.imshow("原来", src)
circles_image(src)
cv.waitKey(0)
cv.destroyAllWindows()
运行结果如下: