前言
让我的电脑认识我,我的电脑只有认识我,才配称之为我的电脑!
今天,我们用Python实现简单的人脸识别技术!
Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的。这里介绍的是准确性比较高的一种。
欲直接下载源代码文件,关注微信公众号:Python联盟,回复“人脸识别”即可获取~
一、首先
梳理一下实现人脸识别需要进行的步骤:
流程大致如此,在此之前,要先让人脸被准确的找出来,也就是能准确区分人脸的分类器,在这里我们可以用已经训练好的分类器,网上种类较全,分类准确度也比较高,我们也可以节约在这方面花的时间。
ps: 博主的宝贝来源已经放在下面链接里啦~
推荐:GitHub项目
https://github.com/opencv/opencv/tree/master/data/haarcascades
既然用的是python,那自然少不了包的使用了,在看代码之前,我们先将整个项目所需要的包罗列一下:
· CV2(Opencv):图像识别,摄像头调用
· os:文件操作
· numpy:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库
· PIL:Python Imaging Library,Python平台事实上图像处理的标准库
二、接下来
1. 对照人脸获取
#-----获取人脸样本-----
import cv2
#调用笔记本内置摄像头,参数为0,如果有其他的摄像头可以调整参数为1,2
cap = cv2.VideoCapture(0)
#调用人脸分类器,要根据实际路径调整3
face_detector = cv2.CascadeClassifier(r'X:/Users/73950/Desktop/FaceRec/haarcascade_frontalface_default.xml') #待更改
#为即将录入的脸标记一个id
face_id = input('\n User data input,Look at the camera and wait ...')
#sampleNum用来计数样本数目
count = 0