准备工作:
opencv提供了人脸检测的xml文件,l使用find -path "*harrcascade"可以看到这里有十几个xml文件。
准备一张人脸图片
import cv2
#读取图片bgr
im=cv2.imread('img_face1.jpg')
#转换成灰阶图
gray=cv2,cvtColor(im,cv2.COLOR_BGR2GRAY)
cascadeclassifier=cv2.CascadeClassifier('./xml/harrcascade_frontalface_default.xml')
#返回的人脸坐标,传递的参数是scaleFactor和minNeighbors他们分别代表人脸检测中每次迭代图像的压缩率以及人脸矩形相邻的最小数目
faces=cascadeclassifier.detectMultiScale(gray,(1.3),5)
for (x,y,w,h) in faces:
#绘制矩形由于图片是bgr所以(225,0,0)是绿色的
im=cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0))
cv2.imwrite('./img/img_face1_detect.jpg')
识别结果