在驱动摄像头的基础上,利用opencv进行人脸检测:
1、在网友的人脸检测的模型基础上进行。https://github.com/FontTian/DS-Exhibitio
2、新建文件夹haarcascades把模型haarcasecade_frontalface_default.xml下载到这个文件夹:
3、建立FaceDetection.py:
# -*- coding:utf-8 -*-
import cv2
def generate():
# 加载已经训练好的haar
#
face_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface_default.xml')
face_cascade.load('./haarcascades/haarcascade_frontalface_default.xml')
camera = cv2.VideoCapture(0)
count = 0
while (True):
ret, frame = camera.read()
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
img = cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
f = cv2.resize(gray[y:y + h, x:x + w], (300, 300))
cv2.imshow('camera', frame)
else:
print("no ret")
if cv2.waitKey(int(1000 / 12)) & 0xFF == ord('q'):
break
camera.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
generate()
运行程序后效果如下: