一、前言
人脸识别应用于生活中很多场景,但其实搭建一个简单的人脸识别平台并不困难,下面我们基于opencv 库搭建一个人脸识别系统,可以在此基础上添加自己想要实现的功能。
二、环境配置
首先下载cv2库,可以使用pip工具进行快捷安装,打开Anaconda,输入命令pip install opencv-python, 等待下载完成。
再次输入pip install opencv-python,可以显示cv库,安装的位置。
三、文件下载
我们使用的是 'haarcascade_frontalface_default.xml'文件作为人脸识别的支持包,这个文件可以从opencv官网找到,但是我们在使用pip install opencv-python时已经安装了这个支持包,在site-packages下的data文件夹下,找到cv2,把这个文件复制粘贴到pycharm的工程文件夹下。
四、运行程序
五、程序源码
import cv2
# 加载人脸识别的模型
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 打开摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头的画面
ret, frame = cap.read()
# 将画面转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 在灰度图像中检测人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# 在原始画面中标记出人脸位置,并标记为 "admin"
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.putText(frame, "admin", (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 在原始画面中标记出人脸位置
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示处理后的画面
cv2.imshow('Face Recognition', frame)
# 按下 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头和窗口
cap.release()
cv2.destroyAllWindows()