from time import sleep from io import BytesIO import cv2 import numpy as np def addPerson(label, ImagesPath, newFileName, oldFileName): try: #faceFilePath = '/faces/hesham-saeed2' faceFile = '/faces/'+ oldFileName face_recognizer = cv2.createLBPHFaceRecognizer() face_recognizer.load(faceFile) except: print('[ Error ] Problem in init/loading LBPHfacerecognizer') images = [] labels = [] image_names = os.listdir(ImagesPath) 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)) face_recognizer.save('/faces/'+newFileName)