def face_detect():
image = cv2.imread(face_filename)
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cascade_f = cv2.CascadeClassifier(path.join(cascades_dir, 'haarcascade_frontalface_alt2.xml'))
cascade_e = cv2.CascadeClassifier(path.join(cascades_dir, 'haarcascade_eye.xml'))
facerect = cascade_f.detectMultiScale(image_gray, scaleFactor=1.08, minNeighbors=1, minSize=(200, 200))
# print("face rectangle")
# print(facerect)
image_face = []
if len(facerect) > 0:
# filename numbering
numb = 0
tmp_size = 0
for rect in facerect:
x, y, w, h = rect
# eyes in face?
roi = image_gray[y: y + h, x: x + w]
eyes = cascade_e.detectMultiScale(roi, scaleFactor=1.05, minSize=(20,20))
if len(eyes) > 1:
if h > tmp_size:
tmp_size = h
image_face = image[y:y+h, x:x+h]
return image_face
评论列表
文章目录