有话在先
前日注册了百度云账号,接触到了百度云的一系列接口,看到“人脸对比”后突发奇想,用人脸识别来做认证(虽然没有Alipay那么高端)模拟登录执行程序。
于是就去百度了百度云接口python实现人脸识别、OpenCV人脸认证。网上实现百度云接口的代码是用Python3写的,但是OpenCV目前只支持Python2;所以我尝试了一下把py3的百度云人脸识别代码改成了py2的。
结果……失败了【悲伤.gif】……
所以我将就用那个py3,同时安装了py2,然后再在一个程序里面调用另一个程序
但是这样做可移植性差,需要用户同时安装py2和py3。
原文
python3.6+百度人脸识别API进行照片人脸对比:https://blog.csdn.net/weixin_39133476/article/details/79310817
python+OpenCV人脸认证:https://www.cnblogs.com/hanson1/p/7105265.html
Python2.x与3.x版本区别
- Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。
- 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。
- 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。
- 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。
- 新的Python程式建议使用Python 3.0版本的语法。
- 除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。
- 大多数第三方库都正在努力地相容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。
详情阅读:
https://blog.csdn.net/ljl6158999/article/details/78983725,
https://www.cnblogs.com/sherlockChen/p/8064896.html
其实我遇到的问题是库的问题,py3将py2的一些库做了整合和删除,导致py2变py3时会很麻烦
实现方法
思想
- 这需要之前先保存一张人脸的图片,然后调用摄像头拍照获取当前人脸,通过代码上传二者到百度云人脸对比进行比较分析
- 分析后会有一段返回值,用BeautifulSoup库可取其重点文字:“是同一个人”,“不是同一个人”。二者有重复语句段,在判断的时候要注意。
源代码
authentication.py [Python2.7]
1 | # coding: utf-8 |
FaceCompare.py [Python3.6]
1 | import sys |
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏