import cv2 import numpy as np import matplotlib.pyplot as plt import time img = cv2.imread('/Users/wenyu/Desktop/demo/people_1/84.bmp') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#灰度图像 plt.subplot(121),plt.imshow(gray,'gray') plt.xticks([]),plt.yticks([]) curTime = time.time() #hough transform circles1 = cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT,1,100,param1=100,param2=30,minRadius=50,maxRadius=100) circles = circles1[0,:,:] circles = np.uint16(np.around(circles))#四舍五入,取整 print(circles) for i in circles[:]: cv2.circle(img,(i[0],i[1]),i[2],(255,0,0),3)#画圆 cv2.circle(img,(i[0],i[1]),2,(255,0,255),5)#画圆心 plt.subplot(122),plt.imshow(img) plt.xticks([]),plt.yticks([]) plt.show()
效果图