FaceRecognition-python/Trainer.py
2018-11-22 02:34:43 +03:00

28 lines
916 B
Python

from time import sleep
from io import BytesIO
import cv2
import numpy as np
def train(label, path):
try:
face_recognizer = cv2.createLBPHFaceRecognizer()
face_recognizer.load('/faces/hesham-saeed2')
except:
print('[ Error ] Problem in init/loading LBPHfacerecognizer')
images = []
labels = []
image_names = os.listdir(path)
for image_name in image_names:
if image_name.startswith('.'):
continue;
image_path = train_path + image_name
image = cv2.imread(image_path)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
images.append(gray[y:y+h, x:x+w])
labels.append(label)
face_recognizer.train(images, np.array(labels))