Я начал изучать OpenCV
lib в Python
. Я хочу написать код, который будет распознавать лица и глаза на фотографии, а также подсчитывать количество обнаружений. Я написал картину, на которой 6 человек. Вы можете скачать форму изображения здесь:
https://www.sendspace.com/file/cznbqa
Я написал код, который распознает лица и глаза, но я не знаю, как подсчитать количество обнаружений. Кроме того, мой код распознает 4/8 лиц и 1/12 глаз на фотографии, так что ... У меня, вероятно, есть некоторые проблемы в коде. Если вы также можете мне помочь с этим, я был бы очень благодарен.
# Standard imports
import cv2
import numpy as np
# Read image
my_image = cv2.imread("ljudi.jpg", 1)
# data for detecting faces and eyes
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
img = cv2.imread("ljudi.jpg", 1)
gray = cv2.cvtColor(img, 0)
faces = face_cascade.detectMultiScale(gray, 1.2, 4)
for (x,y,w,h) in faces:
#detect face with bule rectangle
#rec. start point (x,y), rec. end point (x+w, y+h), blue color(255,0,0), line width 2
face_rec = cv2.rectangle(img, (x,y), (x+w, y+h), (255,0,0), 1)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
eyes = eye_cascade.detectMultiScale(roi_gray, 1.1, 2)
for (ex,ey,ew,eh) in eyes:
eye_rec = cv2.rectangle(roi_color, (ex,ey), (ex+ew, ey+eh), (0,255,0), )
cv2.imshow('img', img)
cv2.waitKey(0)