毕设学习机器学习——人脸检测小demo

基于Haar+Adaboost人脸识别
需要的文件:
链接:https://pan.baidu.com/s/15qE-ENzNqLula_w6ISFjaQ
提取码:yp1z

原理部分:
存在的问题:准确度不够,目前只是能识别部分图片
后续:待续,应该学会训练自己的样本数据,提高精度

待补充------后续在进行优化补充

import cv2

#1——xml文件引入
face_xml = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_xml = cv2.CascadeClassifier('haarcascade_eye.xml')
#2——load jpg
img = cv2.imread('face.jpg')
cv2.imshow('src',img)  #第一次未对图片img绘制展示
#haar灰度化
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#detect   1 data 2 sacle比例缩放 3 5最小像素
faces = face_xml.detectMultiScale(gray,1.3,5)
print('faces=',len(faces))  #人脸的个数
#draw 

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),(0,255,0),2)
cv2.imshow('face',img) #第一次对图片img绘制后展示
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果毕设学习机器学习——人脸检测小demo_第1张图片

你可能感兴趣的:(毕业设计系列,人脸识别,opencv,计算机视觉)