python实现基于haar分类器的人脸识别技术

上一篇文章,我们介绍了基于Gabor特征提取算法的人脸识别技术,这篇文章作为上篇文章的延拓,我们将介绍基于haar分类器的人脸识别技术的python代码实现。这里就不详细介绍haar分类器了,引用了一篇大神的文章,供大家了解。

一篇很详细的介绍haar分类器的文章

引用了两个库文件
“haarcascade_frontalface_default.xml”,
“haarcascade_eye.xml”

python代码部分:

import cv2 as cv
face_cascade = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv.CascadeClassifier('haarcascade_eye.xml')
work_directory = "C:/work/data/"
image_name = "test.jpg"
full_image_path = work_directory + image_name
img = cv.imread(full_image_path)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
    cv.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)
    for (ex,ey,ew,eh) in eyes:
        cv.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv.imshow('Image',img)
cv.waitKey(0)
cv.destroyAllWindows()

你可能感兴趣的:(python实现基于haar分类器的人脸识别技术)