霍夫变换检测虹膜内圆

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

效果图

猜你喜欢

转载自www.cnblogs.com/daremosiranaihana/p/12667838.html
今日推荐