python人脸对比
import sys
import ssl
from urllib import request,parse
# client_id 为官网获取的AK, client_secret 为官网获取的SK
#获取token
def get_token():
client_id =API Key
client_secret =Secret Key
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(client_id,client_secret)
req = request.Request(host)
req.add_header('Content-Type', 'application/json; charset=UTF-8')
response = request.urlopen(req)
#获得请求结果
content = response.read()
#结果转化为字符
content = bytes.decode(content)
#转化为字典
content = eval(content[:-1])
return content['access_token']
#转换图片
#读取文件内容,转换为base64编码
#二进制方式打开图文件
def imgdata(file1path,file2path):
import base64
f=open(r'%s' % file1path,'rb')
pic1=base64.b64encode(f.read())
f.close()
f=open(r'%s' % file2path,'rb')
pic2=base64.b64encode(f.read())
f.close()
#将图片信息格式化为可提交信息,这里需要注意str参数设置
params = {"images":str(pic1,'utf-8') + ',' + str(pic2,'utf-8')}
return params
#提交进行对比获得结果
def img(file1path,file2path):
token = get_token()
#人脸识别API
#url = 'https://aip.baidubce.com/rest/2.0/face/v2/detect?access_token='+token
#人脸对比API
url = 'https://aip.baidubce.com/rest/2.0/face/v2/match?access_token='+token
params = imgdata(file1path,file2path)
#urlencode处理需提交的数据
data = parse.urlencode(params).encode('utf-8')
req = request.Request(url,data=data)
req.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = request.urlopen(req)
content = response.read()
content = bytes.decode(content)
content = eval(content)
print(content)
#获得分数
score = content['result'][0]['score']
if score>80:
return '照片相似度:'+str(score)+',同一个人'
else:
return '照片相似度:'+str(score)+',不是同一个人'
if __name__ == '__main__':
file1path = 'd:/ym1.jpg'
file2path = 'd:/ym2.jpg'
res = img(file1path,file2path)
print(res)
python人脸对比的更多相关文章
- 基于node.js人脸识别之人脸对比
基于node.js人脸识别之人脸对比 Node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O ...
- python编辑器对比和推荐
python编辑器对比和推荐 我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出.有些我没有用过,先不写了.以下是我使用过的python IDE: 除了PythonWin, Visua ...
- python性能对比
python性能对比之items #1 #-*- coding:utf8-*- import datetime road_nodes = {} for i in range(5000000): roa ...
- 关于dlib人脸对比,人脸识别
人脸检测 人脸特征点提取 人脸对比,等于两张人脸对比,识别 封装的所有识别函数,直接看下面调用就好了. # coding:utf-8 ''' 本本次封装,我主要是做两张人脸对比. 就只人脸识别部分,简 ...
- python3 百度AI-v3之 人脸对比 & 人脸检测 & 在线活体检测 接口
#!/usr/bin/python3 # 百度人脸对比 & 人脸检测api-v3 import sys, tkinter.messagebox, ast import ssl, json,re ...
- python人脸识别
需要掌握知识python,opencv和机器学习一类的基础 过一段时间代码上传github,本人菜j一个,虽然是我自己谢的,也有好多不懂,或者我这就是错误方向 链接:https://pan.baidu ...
- 【python人脸识别】使用opencv识别图片中的人脸
概述: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库 为什么有OpenCV? 计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种: 1.研究 ...
- ruby和Python简单对比
前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果 序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时 ...
- OpenCV + Python 人脸检测
必备知识 Haar-like opencv api 读取图片 灰度转换 画图 显示图像 获取人脸识别训练数据 探测人脸 处理人脸探测的结果 实例 图片素材 人脸检测代码 人脸检测结果 总结 下午的时候 ...
随机推荐
- 洛谷P1049装箱问题(01背包)
题目描述 有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300<n≤30, ...
- JVM系列(四)之GC调优
JVM内存参数调优 为什么要GC调优? 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但当你的系统时常报了内存溢出或者 ...
- 【译】高级T-SQL进阶系列 (四)【上篇】:使用游标进行行级别处理
[译注:此文为翻译,由于本人水平所限,疏漏在所难免,欢迎探讨指正] 原文链接:传送门. 正常来说,使用游标并不是处理记录集的最佳方式.然而当一个经验丰富的程序员第一次开始写TSQL时,他们经常会寻找其 ...
- phpstorm 断点调试
1.设置php的xdebug 在php.ini中设置 [XDebug] xdebug.profiler_output_dir="H:\phystudy\PHPTutorial\tmp\xde ...
- C++实现对MySQL数据库的连接,以及增删改查
安装好MySQL,建好数据表的前提下. 如果只是想简单实现添加数据或者其他一个操作数据,可以参考另一篇博客. https://www.cnblogs.com/ming-4/p/11544514.htm ...
- 【Go语言系列】第三方框架和库——GIN:快速入门
要求要安装Gin软件包,需要:1.安装Go(需要1.11+版本)2.设置Go工作区 安装1.下载并安装 gin: $ go get -u github.com/gin-gonic/gin 2.将 gi ...
- 鸡汤 - Choice is yours
传送门 https://kamranahmed.info/blog/2018/03/24/choice-is-yours/ Our whole lives are driven by the choi ...
- MongoDB - 运行
运行 mongod --dbpath (mongod is the "Mongo Daemon") 在shell用mongo或者用studio 3t可视化连接 创建用户 db.cr ...
- Python:字典类型
概念 无序的,可变的,键值对集合 定义 方式1 {key1: value1, key2: value2, ......} 方式2 fromkeys(S, v=None) 静态方法:类和对象都可以调用 ...
- Linux 的三种软件安装包介绍
通过RPM软件包来安装 说起RPM(RedHat Package Management)标准的软件包,大家可能都会想起大名鼎鼎的REDHAT公司,正是RPM软件包发行方式的出现,使Linux中的应用软 ...