前言
接下来开始学习使用python+opencv进行人脸识别功能,但今天先不做人脸识别,先做人脸检测,要实现给你一张照片要准确的再照片上找到人脸,并将人脸框起来。
1 环境配置
要使用opencv我们得先安装相关库。命令行输入“pip install opencv-python”回车执行进行安装
2 准备素材
接下来准备几张需要检测人脸的照片,照片命名尽量言简意赅,方便调用。
例:我准备了三张照片,分别是大一,大二,大三的照片,本打算做人脸识别,判断这三张照片是不是同一人,但今天先拿来做人脸检测实验。
3 编写程序
其实人脸检测程序只有一个,但要检测三张照片,后面的代码基本相同,所以就直接复制了。
首先导入三张照片,再用人脸级联分类器进行人脸检测,这里顺便加了一个人眼检测,不仅要检测到人脸还要检测到人眼。最后将人脸和人眼用不同颜色的线条框起来
import cv2 # 导入相关库
img1 = cv2.imread(r'C:\Users\DELL\Desktop\face_test\image\1.jpg',1) # 导入照片
img2 = cv2.imread(r'C:\Users\DELL\Desktop\face_test\image\2.jpg',1) # 导入照片
img3 = cv2.imread(r'C:\Users\DELL\Desktop\face_test\image\3.jpg',1) # 导入照片
face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml') # 人脸检测
eye_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_eye.xml') # 人眼检测
# 照片1处理
face1 = face_engine.detectMultiScale(img1,scaleFactor=1.3,minNeighbors