树莓派+检测人脸

旧城冷巷雨未停 提交于 2019-12-27 06:48:21

设备与环境

raspberry 3b
winscp
vnc

检测人脸

级联分类器 cascadeclassifier
级联分类器,即使用类 Haar 特征工作的级联增强分类器,是集成学习的一种特殊情况,称为 boost。它通常依赖于 Adaboost 分类器(以及其他模型,如 Real Adaboost、Gentle Adaboost 或 Logitboost)。

级联分类器在包含检测目标的几百个样本图像以及不包含检测目标的其他图像上进行训练。

opencv中有训练好的人脸文件。

代码


import numpy as np
import cv2

# Create a memory stream so photos doesn't need to be saved in a file

image = cv2.imread('lena.bmp',1)
cv2.imshow("image", image)

#Load a cascade file for detecting faces
face_cascade = cv2.CascadeClassifier('faces.xml')

#Convert to grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("image",gray)

#Look for faces in the image using the loaded cascade file
faces = face_cascade.detectMultiScale(gray, 1.1, 5)
print("Found "+str(len(faces))+" faces")

#Draw a rectangle around every founded face_cascade
for (x,y,w,h) in faces:
    cv2.rectangle(image, (x,y),(x+w,y+h),(255,0,0),2)
# Save the result image
cv2.imwrite('result.jpg', image)
cv2.imshow("image result", image)
cv2.waitKey()

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!