import cv2
face_xml = cv2.CascadeClassifier(r'D:\CodeFile\opencv-3.4.2\data\haarcascades\haarcascade_frontalface_default.xml')
eye_xml = cv2.CascadeClassifier(r'D:\CodeFile\opencv-3.4.2\data\haarcascades\haarcascade_eye.xml')
print(face_xml, eye_xml)
img = cv2.imread(r'D:\3.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('src', img)
faces = face_xml.detectMultiScale(gray, 1.3, 5) #人脸最小像素为5
print('face=', len(faces))
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
roi_face = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
eyes = eye_xml.detectMultiScale(roi_face)
print('eyes=', len(eyes))
for (e_x, e_y, e_w, e_h) in eyes:
cv2.rectangle(roi_color, (e_x, e_y), (e_x+e_w, e_y+e_h), (255, 0, 0), 2)
cv2.imshow('dst', img)
cv2.waitKey(0)