python实现opencv学习十九:圆检测

霍夫圆检测

代码如下:

# -*- 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()

运行结果如下:


 
 
 

猜你喜欢

转载自blog.csdn.net/u011321546/article/details/79617054