def video():
global face_token
ft=cv2.freetype.createFreeType2()
ft.loadFontData(fontFileName='./data/font/simhei.ttf',id =0)
face_cascade = cv2.CascadeClassifier('./data/cascades/haarcascade_frontalface_alt.xml')
camera=cv2.VideoCapture(0)
count = 0
while(True):
ret,frame=camera.read()
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
faces=face_cascade.detectMultiScale(gray,1.3,5)
for(x,y,w,h) in faces:
img =cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,255),2)
if count%5<2:
f=cv2.resize(gray[y:y+h,x:x+w],(200,200))
cv2.imwrite('./data/temp/temp.pgm',f)
result=FaceAPI.searchItoI(image_file='./data/temp/temp.pgm')
if len(result)==4:
break
if result["results"][0]["confidence"] >= 80.00:
print result["results"][0]["confidence"]
face_token=result["results"][0]["face_token"]
detail=get_detail()
# shutil.copyfile("./data/temp/temp.pgm","./data/at/%s/%s.pgm"%(detail,time.strftime('%Y%m%d%H%M%S')))
print detail
ft.putText(img=img,text=detail[1], org=(x, y - 10), fontHeight=60,line_type=cv2.LINE_AA, color=(0,255,165), thickness=2, bottomLeftOrigin=True)
# count+=1
else:
print"Unknow face"
cv2.putText(img,"Unknow", (x, y - 10), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0,0,225), 2)
count +=1
print count
cv2.namedWindow("image",cv2.WINDOW_NORMAL)
cv2.imshow("image",frame)
if cv2.waitKey(1000 / 12)&0xff==ord("q"):
break
camera.release()
cv2.destroyAllWindows()
评论列表
文章目录