Распознавание объектов с использованием Haar-каскадов

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 регулируют точность обнаружения.

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *