import cv2
opencv_haar_path = './haarcascades/'
face_cascade = cv2.CascadeClassifier(opencv_haar_path +
'haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier(opencv_haar_path +
'haarcascade_eye_tree_eyeglasses.xml')
# img = cv2.imread('./9781789343731_Code/images/lena.jpg')
# img = cv2.imread('./9781789343731_Code/images/face.jpg')
img = cv2.imread('./9781789343731_Code/images/faces.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.2, 5)
minNbr = 5
print(len(faces))
for (x, y, w, h) in faces:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
roi_gray = gray[y:y + h, x:x + w]
roi_color = img[y:y + h, x:x + w]
eyes = eye_cascade.detectMultiScale(roi_gray)
print(len(eyes))
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(img, (ex + x, ey + y), (x + ex + ew, y + ey + eh), (255, 255, 0), 2)
# cv2.imshow('Dynamic', roi_color)
# # 如果按下q键则退出
# if cv2.waitKey(0) & 0xff == ord('q'):
# break
cv2.namedWindow('image',cv2.WINDOW_NORMAL )
cv2.imshow('image', img)
cv2.imwrite('face-detect.png', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
opencv haar人脸 眼睛检测
最新推荐文章于 2024-08-26 17:28:09 发布
本文展示了如何使用OpenCV进行人脸检测,并进一步定位和绘制眼睛区域。通过'haarcascade'分类器,作者从图片中抓取面部特征,并使用eye_cascade检测眼睛。关键步骤包括读取图像、灰度转换、多尺度人脸检测和眼睛识别。
摘要由CSDN通过智能技术生成