本文正在参加「Python主题月」,详情查看 活动链接
目录
一、需要准备的材料
1.笔记本电脑(带有摄像头的电脑)
2.python3.7,pycharm
第三方包的安装准备
二,本文采用pip进行安装
在开始菜单栏搜索dos,然后回车启动命令提示符。
在python3.7的Scripts文件夹中可以找到pip.exe。
在命令提示符中输入Scripts文件夹的绝对路径
例:cd C:\python3.7\Scripts
注:cd为Change directory,即更换目录,cd后有空格。
更换目录成功后,输入pip.exe,启动pip
三,启动pip后,就可以开始安装Python的第三方包了,注意要让电脑联网。
第三方包的安装
(1)opencv 的安装,输入:pip install opencv-python。
注:numpy与OpenCV绑定安装,无需自己输入命令。
(2) pillow的安装,输入: pip install pillow
注:pillow为图像处理包。
(3) contrib的安装,输入:pip install opencv-contrib-python
四、人脸识别的程序实现
1.FaceDetection,人脸检测
废话不多说,先上代码
1 | ini复制代码import numpy as np |
注:1.人脸识别分类器的路径在不同的电脑上不同,一般来讲,在python3.7\Lib\site-packages\cv2\data中,注意是绝对路径,如果嫌目录太长,可以将分类器和程序放在一起。
注:2.经过我的慎重考虑,我决定不放出我的人脸,请各位读者自行尝试,大概就是一个蓝色的矩形框住你的脸,两个绿色的矩形框住你的眼睛,按esc可退出。
2.FaceDataCollect,人脸数据收集
还是先上代码
1 | ini复制代码import cv2 |
注:1.在运行该程序前,请先创建一个Facedata文件夹并和你的程序放在一个文件夹下。
友情提示:请将程序和文件打包放在一个叫人脸识别的文件夹下。可以把分类器也放入其中。
注:2.程序运行过程中,会提示你输入id,请从0开始输入,即第一个人的脸的数据id为0,第二个人的脸的数据id为1,运行一次可收集一张人脸的数据。
注:3.程序运行时间可能会比较长,可能会有几分钟,如果嫌长,可以将 #得到1000个样本后退出摄像 这个注释前的1000,改为100。
如果实在等不及,可按esc退出,但可能会导致数据不够模型精度下降。
3.face_training,人脸数据训练
1 | python复制代码import numpy as np |
注:1.第8行的LBPHFaceRecognizer_create()为contrib中的函数,笔者之前自己摸索时,没有安装此包,因此卡了很久,印象深刻。
注:2.运行该程序前,请在人脸识别文件夹下创建face_trainer文件夹。
4.face_recognition 人脸检测
1 | ini复制代码import cv2 |
注:1. 11行的names中存储人的名字,若该人id为0则他的名字在第一位,id位1则排在第二位,以此类推。
注:2. 最终效果为一个绿框,框住人脸,左上角为红色的人名,左下角为黑色的概率。
五,结语
在这里我要感谢个人博客
www.cnblogs.com/xp12345的技术支…
照着他的步骤成功的完成了人脸识别,改动地方不多,希望能对你们有帮助!
本文转载自: 掘金