实例代码:haar+adaboost 人脸识别

眼睛的识别不是很准

import cv2
import numpy as np
face_xml=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_xml=cv2.CascadeClassifier('haarcascade_eye.xml')
# img=cv2.imread('face.jpg')
img=cv2.imread('linda.bmp')
cv2.imshow('src',img)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces=face_xml.detectMultiScale(gray,1.3,5)
print('face=',len(faces))
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,x+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('eye=',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),(0,255,0),2)
cv2.imshow('dst',img)
cv2.waitKey(0)

haarcascade_frontalface_default.xml
haarcascade_eye.xml 这两个文件是Opencv中自带的检测器,可以在opencv目录文件中找到。具体在哪百度下吧…

发布了7 篇原创文章 · 获赞 5 · 访问量 327

猜你喜欢

转载自blog.csdn.net/Fighting_y/article/details/104921931