def detect(filename):
global face_token
count=0
faces=[]
face_cascade = cv2.CascadeClassifier('./data/cascades/haarcascade_frontalface_alt.xml')
img = cv2.imread(filename)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces=face_cascade.detectMultiScale(gray, 1.3, 5)
ft=cv2.freetype.createFreeType2()
ft.loadFontData(fontFileName='./data/font/simhei.ttf',id =0)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,255),3)
f = cv2.resize(gray[y:y+h, x:x+w], (200, 200))
cv2.imwrite('./data/search/{}/{}.pgm'.format(filesdir,count), f)
result=FaceAPI.searchItoI(image_file='./data/search/{}/{}.pgm'.format(filesdir,count))
if len(result)==4:
break
if result["results"][0]["confidence"] >= 80.00:
print result["results"][0]["confidence"]
face_token=result["results"][0]["face_token"]
print"face_token?{}".format(face_token)
detail=get_detail()
ft.putText(img=img,text=detail[1], org=(x, y - 10), fontHeight=30,line_type=cv2.LINE_AA, color=(0,255,165), thickness=1, bottomLeftOrigin=True)
else:
print"Unknow face"
cv2.putText(img,"Unknow", (x, y - 10), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0,0,225), 2)
count+=1
cv2.imwrite(i,img)
评论列表
文章目录