-
Notifications
You must be signed in to change notification settings - Fork 0
/
Step11-implement recognizer.py
39 lines (31 loc) · 1.04 KB
/
Step11-implement recognizer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import numpy as np
import cv2 as cv
face_cascade = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
recog=cv.face.LBPHFaceRecognizer_create()
recog.read("trainer.yml")
vid=cv.VideoCapture(0)
while(True):
#Capture frame by frame
ret, frame=vid.read()
frame=cv.flip(frame,1)
gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.5, minNeighbors=5)
for (x,y,w,h) in faces:
#print(x,y,w,h)
roi_gray=gray[x:x+w,y:y+h]
id,conf=recog.predict(roi_gray)
#print(conf)
if conf>=45 and conf<=110:
print(id)
#face_img="my_img.png"
#cv.imwrite(face_img,roi_gray)
color=(255,0,0)
stroke=2
width=x+w
height=y+h
cv.rectangle(frame,(x,y),(width,height),color,stroke) #x,y are starting coordinates, width and height are ending coordinates
cv.imshow('frame',frame)
if cv.waitKey(20) & 0XFF== ord('b'):
break
vid.release()
cv.destroyAllWindows()