这前的四篇算是基础篇,这篇算是应用篇,这个暑假给自己立的小目标之一就是用树莓派做下人脸检测和识别,就是想看看效果咋样,可惜没有录屏,然后就简单的拍了几张人眼识别和微笑识别的照片,感觉这后期做的有点糙啊,有些惭愧,以后做事还是要做全面的。
废话不多说,下面是代码,这里面还是要感谢下子豪兄的博客。
这个是人脸检测+人眼检测+微笑检测的代码
#调用摄像头进行实时人脸+人眼识别
import cv2
face_cascade = cv2.CascadeClassifier('/home/pi/Downloads/opencv-3.4.0/data/haarcascades/haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('/home/pi/Downloads/opencv-3.4.0/data/haarcascades/haarcascade_eye.xml')
smile_cascade = cv2.CascadeClassifier('/home/pi/Downloads/opencv-3.4.0/data/haarcascades/haarcascade_smile.xml')
#调用摄像头
cap = cv2.VideoCapture(0)
while(True):
#获取摄像头拍摄到的画面
ret, frame = cap.read()
faces = face_cascade.detectMultiScale(frame, 1.3, 5)
img = frame
for (x, y, w, h) in faces:
#画出人脸框, 蓝色,画笔宽度微
img = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
#框选出人脸区域, 在人脸区域而不是全图中进行人眼检测, 节省计算资源
face_area = img[y:y+h, x:x+w]