import os import cv2 import numpy as np from PIL import Image def TrainImages(): print("Training images...") # Define the paths trainimage_path = "TrainingImage" image_paths = [os.path.join(trainimage_path, f) for f in os.listdir(trainimage_path) if f.endswith(".jpg")] faces = [] labels = [] for image_path in image_paths: img = Image.open(image_path).convert("L") # Convert to grayscale img_np = np.array(img) enrollment = int(image_path.split('.')[1]) faces.append(img_np) labels.append(enrollment) # Train the model recognizer = cv2.face.LBPHFaceRecognizer_create() recognizer.train(faces, np.array(labels)) # Save the model recognizer.save("trainer.yml") print("Training complete.")