既然检测猫可以检测出来,我便试了一下检测人脸,并且做了个统计(统计多少个人),效果似乎不错
代码:
# -*- coding: utf-8 -*-
"""
Created on Wed Oct 16 09:23:38 2019
@author: Administrator
"""
import cv2
filepath = "E:\\the_data\\opencv\\love.jpg"
img = cv2.imread(filepath) # 读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换灰色
classifier = cv2.CascadeClassifier("E:\\the_data\\opencv\\xml\\haarcascade_frontalface_default.xml")
color = (255, 0, 0) # 定义绘制颜色
faceRects = classifier.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(5, 5))
# faceRects = classifier.detectMultiScale( gray, scaleFactor=1.3, minNeighbors=3, minSize=(20, 20))
count = 0
if len(faceRects):
for faceRect in faceRects:
x, y, w, h = faceRect
cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)
count = count + 1
text = 'count:' + str(count)
cv2.putText(img, text, (40, 50), cv2.FONT_HERSHEY_PLAIN, 2.0, (0, 0, 255), 2)
cv2.imshow("image", img) # 显示图像
c = cv2.waitKey(10)
cv2.waitKey(0)
cv2.destroyAllWindows()
效果展示: