python人脸识别opencv_基于python+OpenCV模块的人脸识别定位技术

什么是OpenCV模块

OpenCV是一款跨平台的视觉库,可以支持的操作系统有Linux、Windows和Mac OS操作系统,并且还提供了多种语言的接口,比如Python,java,MATLAB等常用语言。

ac345982b2b7d0a252fd2b4c8c2ac70d4a369a70.jpeg?token=5888ec6e63c67ab57b719db0db409e09&s=554DB144DC8040DC8F36609A0300C09A

本文将基于OpenCV模块,在windows操作系统上,利用python语言,进行人脸识别技术的研究。

当然OpenCV的应用领域很广,除了人脸识别之外,它还支持图像分割、动作识别、视频处理等技术。

首先看一下实现的效果:

f11015455b96b133823ed520b66d638e4424.gif

OpenCV模块的下载与安装

OpenCV模块下载安装很简单。找到模块:

63d0f703918fa0ece3941aea6e52e8ea3f6ddbd4.jpeg?token=425f13a5351e92b733ffd13dbeae8be4&s=3920A51A13AFC1EF0ADD11D7020080A0

其中,OpenCV模块有很多种类,选择OpenCV+Python+contrib模块,其中c37表示Python3.7版本,win_amd64表示windows64位操作系统。

安装借助pip命令:pip install+文件路径+文件名,比如:

503d269759ee3d6dc09f16b809d3dc264e4adeb6.jpeg?token=8f9db5901ef58b891bdefad5a3497fb9&s=E390CB22CBEB39011058E88B0200C0C2

我的电脑已经安装了,所以显示已经存在该模块。

代码分析

下面我们对代码进行分析,代码如图所示:

b58f8c5494eef01f636c6934a73b2821bd317d14.jpeg?token=ec8af8821fa2af405f6edda4f680d4c8&s=CD92EC1A1D80584350E101DA0000C0B2

一共不超过15行,当然这是建立在别人已有的数据上做的,如果自己写的话,不会这么简单,我们这只是调用了别人的接口,而这个接口是开源的,共享的。

代码第1行导入opencv模块。代码的第3行(以上图为准,空行也算一行),导入别人已经训练好的脸部识别数据库。这里用到的数据是在github上开源的已经训练好的分类器,如图所示:

8b82b9014a90f6036ade5b3570d7021fb151eda4.jpeg?token=9ef1feba6d3fdc2ef1c899ec5252edb2&s=E052CC3A190F504D5CFD51DA0000C0B0

需要将对应的数据文件(.xml文件)下载到指定目录(代码中的示例,展示的是与.py文件同一目录下)。第4行的函数cv2.VideoCapture(0)表示调用相机。第6行是读取摄像机中的影像。其中frame是读取的每一帧图像。第7行表示将彩色图像转变为灰度图像。第8行是对灰度图像中的人脸进行识别定位,返回值为坐标信息。第10行画出矩形框。第11行展示出图像。第12行表示按键盘上的“q”键退出while true循环。14行和15行释放摄像机,关闭窗口。

其实代码最核心的一句就是第8行,对人脸进行识别定位,但是这一步,我们通过直接调用别人已经训练好的数据库,一步完成了。

效果图在前文已经给出。下面我们再给出一幅图片多个人脸识别的效果图。

43a7d933c895d143db78ac63343533065baf07a9.jpeg?token=9d7cf06db4244a681659edada522a653&s=E0921D9B1FE54288C0657CD6030080B0

其中,代码多出的最后一行,是为了避免图片一闪而过。其他的代码类似上一个案例。

眼睛的识别定位

先看一下效果图:

574e9258d109b3def67195a88b7add85820a4c69.jpeg?token=66d413ebc860bcd49128eaf162b9299d&s=F598C83B6B72459A45887CE70300F022

素材图片来源于百度。

看一下代码:

6a63f6246b600c33493e683e5d89e00bdbf9a1cf.jpeg?token=5abf8e703665a9cc9d1be4be0bbd9638&s=E980EC1A8B3858030AFCC1DA0200D0B2

可以看到这是我们用到的训练数据为'haarcascade_eye.xml',从而实现对眼睛的识别定位。

总结

本文结合OpenCV模块,利用python语言,在windows64平台下完成对人脸识别定位技术的介绍。希望对你的学习有所帮助,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值