python 人脸识别实例_python实例教程:5分钟教你实现人脸识别,送源码!

我叫杰瑞,是一名编程高手,经常发表一些有趣的编程教学文章,喜欢的小伙伴赶紧关注我吧!

人脸识别

各位同学帅气的杰瑞又来了,今天趁着闲下来的功夫给大家带来一个了非常有趣的教程,杰瑞今天会手把手教大家去实现人脸识别,就像支付宝的人脸识别那样,我们能够识别出视频或图片中的人脸,但是杰瑞今天教大家实现的这个人脸识别是无法分辨出具体哪一个人的,只能分辨出人脸、鼻子、耳朵等器官的位置,并将这些器官用一个框给标记起来。为什么无法识别出具体是哪一个人呢?因为杰瑞并没有一个庞大的人脸库作为支持!

那么废话不多说,杰瑞现在开始教大家一步步实现人脸识别功能!

教程开始

准备工作

杰瑞在这里使用python3.6实现人脸识别,另外需要用到opencv计算机视觉库和numpy数学库。这两个库的安装非常的简单,仅需要两句代码就可以完成。

在命令行输入以下命令即可安装相应的库(需要安装pip)

pip install opencv-python

pip install numpy

安装完成之后我们开始创建一个python文件并开始编写我们的代码,杰瑞在这里就使用sublime text作为编辑器。首先把我们需要用到的包导入到文件里面,就像下图那样:

到这里我们的准备工作就做完了,接下来我们将要创建两个级联分类器,分别用于检测人脸和眼睛。我们将用到CascadeClassifier类,它的参数就是以下两个文件的地址:

haarcascade_frontalface_default.xml

haarcascade_eye.xml

杰瑞把这两个分类器的xml文件和py文件放在同一个目录下面,所以只需要写出他们的名字就行了,一般这两个文件都是opencv自带的。他们的路径结构一般是这样的:

E:\python3.6\Lib\site-packages\cv2\data

读取需要检测的图片或者视频

杰瑞在这里以图片为例,我们使用cv.imread()方法加载我们需要检测的图片,然后把加载好的图片变成灰度图以便于快速检测,最后使用分类器的子函数对加载好的图片进行检测detectMultiScale()。

detectMultiScale()函数中第一个参数就是我们需要检测的图片,minSize参数是我们要检测范围的大小,剩下的参数大家就跟着杰瑞写就行了。

该函数会返回识别出来的目标的位置信息,我们可以借助这个信息使用cv2.rectangle()函数进行标注,这样我们就可以完整的实现人脸识别了。

最后我们将标注完成的图片显示出来。

效果展示

我们已经能正确的识别出人脸和眼睛了。

效果图

源码

可部署到云主机(Heroku,AWS……)! 使用dlib最先进的面部识别功能构建而成,具有深度学习功能。该模型在Wild标记的Labeled Faces中具有99.38%的准确度 。 这提供了一个简单的命令行工具,允许从命令行对图像文件夹进行面部识别! 1、找到图片中出现的所有面孔 2、获取每个人的眼睛,鼻子,嘴巴和下巴的位置和轮廓。 3、应用数字化妆 4、识别每张照片中出现的人物。 5、可以将此库与其他Python库一起使用来进行实时人脸识别。 使用要求 Python 3.3+或Python 2.7 macOS或Linux(Windows未正式支持,但可能有效) 人脸检测 在照片中找到面孔 在照片中找到面孔(使用深度学习) 使用GPU(使用深度学习)批量查找图像中的面孔 使用网络摄像头模糊实时视频中的所有人脸(需要安装OpenCV) 面部特征 识别照片中的特定面部特征 应用(可怕的丑陋)数字化妆 面部识别 根据已知人物的照片查找并识别照片中的未知面部 识别并在照片中的每个人周围绘制框 通过数字面部距离比较面部而不仅仅是真/假匹配 使用网络摄像头识别实时视频中的人脸 - 简单/慢速版本(需要安装OpenCV) 使用网络摄像头识别实时视频中的人脸 - 更快的版本(需要安装OpenCV) 识别视频文件中的面部并写出新的视频文件(需要安装OpenCV) 用相机识别Raspberry Pi上的脸部 运行Web服务以通过HTTP识别面部(需要安装Flask) 使用K近邻分类器识别面部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值