import cv2 import os face_cascade = cv2.CascadeClassifier( cv2.data.haarcascades + "haarcascade_frontalface_default.xml" ) def detect_face(image_path, output_dir="faces"): os.makedirs(output_dir, exist_ok=True) image = cv2.imread(image_path) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=7, minSize=(120, 120) ) saved_faces = [] for i, (x, y, w, h) in enumerate(faces): face = image[y:y+h, x:x+w] save_path = os.path.join(output_dir, f"face_{i}.jpg") cv2.imwrite(save_path, face) saved_faces.append(save_path) return saved_faces