# Programmin for Face detection # Haar Cascade import cv2 import numpy as np # Charger le classificateur Haar Cascade face_cascade = cv2.CascadeClassifier("Haar_Cascade.xml") average_rgb = [] # Charger l'image dans OpenCV # Convertir l'image en niveaux de gris img = cv2.imread("PhotoTest.jpg") gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # Just to check if there is a photo if gray_img.shape[0] == 0 or gray_img.shape[1] == 0: print("Error: input image is empty") # Détection des visages dans l'image face = face_cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5) print(face) # Dessiner un rectangle autour de chaque visage détecté for x, y, w, h in face: img = cv2.rectangle(img, (int(x*1.2), int(y*1.15)), (x + int(w*0.7), y + int(h*0.2)), (0, 255, 0), 3) # Afficher l'image cv2.imshow("Faces", img) cv2.waitKey(0) b, g, r = cv2.split(img) cv2.imshow("b", b) cv2.imshow("g", g) cv2.imshow("r", r) cv2.waitKey(0) # Calculate average on each channel avg_b = np.mean(b) / 255 avg_g = np.mean(g) / 255 avg_r = np.mean(r) / 255 # Add to list average_rgb.append([avg_b, avg_g, avg_r]) # frame_matrices.append(face) print(average_rgb)