简单几步用Python实现人脸对比
简单几步用Python实现人脸对比
说明:这是我暑假应实习单位需求使用百度api编写的一个简单的人脸相似度对比,其间处理了十万左右的照片,主要是为了判断是否为同一人
a.获取百度人脸识别api的api key 和secret key
去哪获取呢?网址:http://ai.baidu.com/tech/face,创建应用
b.获取AccessToken
这一部分在百度的说明文档里也有教你怎么获取和拼接,在这里我就简单的说明一下。
a.向授权服务地址:发送请求并在URL后带上一下参数:
- grand_type :
- client_id:应用的api key
- client_secret:应用的secret key
上面的参数都为必须
api1 = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=GuZ8GCOOQbyrPwGxTmiGR5QW&client_secret=qpyP1Yju3kTyQ
#此URL为向授权服务请求的完整地址,先命名为api1
c.获取Access_Token的完整内容和拼接api
def get_token():response=requests.get(api1)access_token=eval(response.text)['access_token']api2="https://aip.baidubce.com/rest/2.0/face/v3/match"+"?access_token="+access_tokenreturn api2
上面可以打印一下response
d.读取图片数据
def read_img(img1,img2):with open(img1,'rb') as f:pic1=base64.b64encode(f.read())with open(img2,'rb') as f:pic2=base64.b64encode(f.read())params=json.dumps([{"image":str(pic1,"utf-8"),"image_type":'BASE64',"face_type":"LIVE"},{"image":str(pic2,"utf-8"),"image_type":'BASE64',"face_type":"IDCARD"}])return params
e.发起请求拿到对比结果
def analyse_img(file1,file2):params=read_img(file1,file2)api=get_token()content=requests.post(api,params).textscore=eval(content)['result']['score']return score
完整代码请留言
此程序对照片有一定的要求
1. 两张照片的格式需要一致,因为我遍历了两个文件夹,文件名相同的进行比较
2. 照片大小不能太大太小
3. 一旦照片问题或者请求太频繁或者网络问题都会导致程序停止
所以不得不又准备两个照片批量压缩和格式批量转换的程序
至此,一套较为完整的简单的身份验证程序算是初步上线了,此程序前后共处理了十万张左右照片,其间不乏人工的介入。
改进优化版(图形交互界面以及针对上述问题的优化)在一定程度上实现了完全自动化,有时间会发出来
简单几步用Python实现人脸对比相关推荐
- python minimize_简单三步实现Python脚本超参数调优(附代码)
作者:Jakub Czakon, Neptune.ai 翻译:陈之炎 校对:和中华 本文约1500字,建议阅读5分钟. Python机器学习模型建立起来之后,如何对它的性能进行优化?按照本指南中的三个 ...
- 独家 | 简单三步实现Python脚本超参数调优(附代码)
作者:Jakub Czakon, Neptune.ai 翻译:陈之炎 校对:和中华 本文约1500字,建议阅读5分钟. Python机器学习模型建立起来之后,如何对它的性能进行优化?按照本指南中的三个 ...
- 简单三步实现Python脚本超参数调优(附代码)
在编写完成一个Python脚本之后,便可以用它训练和评估机器学习模型了,现在,问题来了,是否能对它自动调整超参数以提高其性能呢? 自有办法! 在本文中,将展示如何将脚本转换为可以用任何超参数优化库优化 ...
- python 人脸比对,python 使用百度AI接口进行人脸对比的步骤
1. 注册百度云账号 注册百度智能云,提交申请. 创建应用获取AppID,API Key,Secret Key. 2. 安装baidu python api 人脸对比 API 文档 pip insta ...
- python人脸识别程序如何嵌入到app_只用Python就能写安卓,简单几步实现人脸识别的App...
最近闲来无事,研究研究在安卓上跑Python. 想起以前玩过的kivy技术,kivy[1]是一个跨平台的UI框架.当然对我们最有用的是,kivy可以把python代码打包成安卓App.但是由于安卓打包 ...
- opencv 训练人脸对比_【项目案例python与人脸识别】基于OpenCV开源计算机视觉库的人脸识别之python实现...
" 本项目是一个基于OpenCV开源库使用python语言程序实现人脸检测的项目,该项目将从[项目基础知识](即人脸识别的基本原理).[项目实践](人脸识别所需要的具体步骤及其python程 ...
- python人脸识别和人脸对比,face_recognition和OpenCV
前言 先用OpenCV判断图片是否模糊,模糊的话需要重拍: 再用face_recognition检测图片中是否有人脸,有才接着进行下一步: 再用face_recognition计算图片中每张人脸的12 ...
- 用python画苹果的logo_简单几步,100行代码用Python画一个蝙蝠侠的logo
转自:菜鸟学Python 简单几步,100行代码用Python画一个蝙蝠侠的logo-1.jpg (35.33 KB, 下载次数: 0) 2020-7-30 12:04 上传 蝙蝠侠作为DC漫画的核心 ...
- 简单几步实现网络音乐播放器(Python爬虫版百度FM)
Python入门之爬取百度音乐 先说一下为什么会有这篇文章,首先肯定是有这个需求了,本人出差在外地,这里的网速卡到爆,根本支撑不了在线听歌的要求,所以就想下载到本地来慢慢听.这可是python的绝活, ...
最新文章
- python mac电脑定时关机怎么设置_python实现电脑定时关机
- 云栖·追踪云原生|Serverless入围阿里云十大核心技术
- ABAP webservice和log on对话框相关的实现细节调试
- upload-labs_pass 9_::$DATA_绕过
- Java 9:好的,坏的和私有的接口方法
- 3.1HTML5样式的使用
- WEB运用程序如何实现高效可维护?
- RTX5 | 内存池02 - 剩下几个API
- Pyotrch —— 优化器Optimizer(一)
- ubuntu19.04安装pip3以及virtualenv和virtualenvwrapper
- 64位 iee754_IEEE754浮点表示法详解
- python做数据分析需要oracle_精通 Oracle+Python,第 1 部分:查询最佳应践
- OpenPilot 0.3.2 发布,开源自动驾驶技术
- (转)开源的大文件上传组件NeatUpload
- 开源磁力搜索爬虫dhtspider原理解析
- CE修改器学习历程之下载、安装和汉化
- [每日一氵] TensorRT中 GA和EA的不同
- 网络安全-破解win10开机密码
- 计算机组成原理带符号的阵列乘法器,计算机组成原理阵列乘法器课程设计报告精选.doc...
- violate与线程安全