Recognizing the face
Now that we have learned how to make our system learn, it's time to use that learned data and recognize the face. So without much talking, let's go ahead and understand how this would be done:
import numpy as np import cv2 faceDetect = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') cam = cv2.VideoCapture(0) rec = cv2.face.LBPHFaceRecognizer_create() rec.read("recognizer/trainningData.yml") id = 0 font = cv2.FONT_HERSHEY_SIMPLEX while True: ret, img = cam.read() gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) faces = faceDetect.detectMultiScale(gray,1.3,5) for (x,y,w,h) in faces: cv2.rectangle(img, (x,y), (x+w, y+h), (0,0,255), 2) id, conf = rec.predict(gray[y:y+h, x:x+w]) if id==1: id = "BEN" cv2.putText(img, str(id), (x,y+h),font,2, (255,0,0),1,) cv2.imshow("face", img) if cv2.waitKey(1)==ord('q'): break cam.release() cv2.destroyAllWindows()
In this code, there are not a lot of new things...