Простой алгоритм обнаружения лиц на Python с использованием OpenCV и каскадов Хаара

Вот базовый алгоритм распознавания лиц в Python с использованием каскадов OpenCV и Haar:

import cv2
# Load the pre-trained Haar cascade file for face detection
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# Load the input image
image = cv2.imread('input_image.jpg')
# Convert the image to grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Perform face detection
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Draw rectangles around the detected faces
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 3)
# Display the output image
cv2.imshow('Face Detection', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Этот код использует библиотеку OpenCV на Python для обнаружения лиц на входном изображении. Он использует каскадный алгоритм Хаара, который является популярным методом обнаружения объектов.

Сначала мы загружаем предварительно обученный каскадный файл Хаара для распознавания лиц. Затем мы читаем входное изображение и преобразуем его в оттенки серого для повышения эффективности обработки. Далее функция detectMultiScaleиспользуется для обнаружения лиц на изображении в оттенках серого. Функция возвращает список прямоугольников, представляющих обнаруженные лица.

Наконец, мы рисуем прямоугольники вокруг обнаруженных лиц на исходном изображении и отображаем результат.