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 读取图片 灰度转换 画图 显示图像 获取人脸识别训练数据 探测人脸 处理人脸探测的结果 实例 图片素材 人脸检测代码 人脸检测结果 总结 下午的时候 ...
随机推荐
- firefox插件hostadmin自由切换host
在Mac下firefox插件hostadmin切换host,遇到的第一个问题就是提示权限不足,解决办法,在终端输入以下命令即可: sudo chmod og+w /etc/hosts chmod修改权 ...
- P2141
总算过了,看了题解才知道是因为重复的不算,比如 1 + 4.4 + 1.2 + 3.3 + 2 都是重复,也就是结果相同的不同的两个数只能出现一组.于是加上判断就好. #include <bit ...
- jsp用equals判断两个字符串变量是否相等
使用即可: s1.equals(s2) 如果使用场景: if(s1==s2){} 这样使用可能会出现判断无效的情况. 使用if(s1.equals(s2)){}就可以了.
- PTA的Python练习题(十二)-第4章-7 统计学生平均成绩与及格人数
第4章-7 统计学生平均成绩与及格人数 a=eval(input()) b=list(map(int,input().split())) sum=sum(b) c=[i for i in b if i ...
- html和css的重难点知识
目录 html总难点总结: 1. 块级标签与内联标签的区别 1.1 块级标签: 1.2 内联标签: 2. 选择器 2.1 定义 2.2 选择器的分类 2.1 选择器的分类 3. css中margin, ...
- XCOJ: 计算器
题目地址:http://xcacm.hfut.edu.cn/problem.php?id=1251 就和表达式求值有点像,但是和杭电的哪一题不一样的是中间没有空格,那么就意味着必须通过字符串处理的方式 ...
- 收藏---wordpress搭建出来的blog
http://blog.luofei.org/2012/02/painters-and-paintings-through-the-eyes-of-faith/
- Django 中的时区
Django 中的时区 在现实环境中,存在有多个时区.用户之间很有可能存在于不同的时区,并且许多国家都拥有自己的一套夏令时系统.所以如果网站面向的是多个时区用户,只以当前时间为标准开发,便会在时间计算 ...
- vs code插件大全
一.HTML Snippets 超级使用且初级的H5代码片段以及提示 二.HTML CSS Support 让HTML标签上写class智能提示当前项目所支持的样式 三.Debugger for C ...
- CSRF预防手段
1 referer 验证 2 token 验证