Определить лица на фотографии
Распознать лица на фотографии можно через библиотеку OpenCV. Установить данную библиотеку можно через код ниже:
python3 -m pip install opencv-python
Далее надо скачать файл «haarcascade_frontalface_default.xml», который содержит алгоритм для определения лиц на фотографии.
Теперь можно выполнить код для определения лиц.
import cv2 # Фотография, на которой надо найти лица image = "image.jpg" face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') image = cv2.imread(image ) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Определение лиц faces = face_cascade.detectMultiScale( gray, scaleFactor= 1.1, minNeighbors= 5, minSize=(10, 10) ) # Координаты лиц (x y width height) faces # [[100 116 211 211] # [396 226 168 168]] # Рисуем квадраты над лицами for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (255, 255, 0), 2) # сохранение картинки с найденными лицами cv2.imwrite("save_image.jpg", image)
В результате будет сгенерирована примерно следующая картинка (картинка создана через код выше).
Скриншот фильма «Гостья из будущего»
Количество лиц на фотографий
Вывести количество лиц на фотографий можно можно через массив faces
, в которой содержат координы найденных лиц.
"Лиц найдено: " + format(len(faces)) # Лиц найдено: 2