https://github.com/opencv/opencv/blob/4.x/data/haarcascades/haarcascade_frontalface_default.xml
Haar-каскады — это метод для обнаружения объектов (например, лиц) на изображении. Используем предобученную модель из OpenCV.
Код для распознавания лиц
import cv2
# Загрузка предобученного каскада для лиц
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
# Загрузка изображения
image = cv2.imread("group_photo.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Обнаружение лиц
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# Рисование прямоугольников вокруг лиц
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imwrite("faces_detected.jpg", image)
print(f"Найдено лиц: {len(faces)}")
Пояснение:
detectMultiScale
ищет объекты разных размеров.- Параметры
scaleFactor
иminNeighbors
регулируют точность обнаружения.


Добавить комментарий