■ 人脸检测(图片)
原图像:
在使用OpenCV的人脸检测之前,需要一个人脸训练模型,格式是xml的,我们这里使用OpenCV提供好的人脸分类模型xml,下载地址:https://github.com/opencv/opencv/tree/master/data/haarcascades, 可全部下载到本地。
代码:
import cv2
# 读取图片
img = cv2.imread("image.jpg")
# 调用opencv人脸识别分类器
classifier = cv2.CascadeClassifier("opencv-master\data\haarcascades\haarcascade_frontalface_default.xml")
# 转为灰度图,加快检测速度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 人脸检测
faces = classifier.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
# 大于0则检测到人脸
if len(faces):
# 循环每一张人脸
for face in faces:
x, y, w, h = face
# 在原图上框出人脸
cv2.rectangle(img, (x, y), (x + h, y + w), (0,255,0), 2)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出图像: