博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之调用百度进行人脸对比,简单易用
阅读量:2047 次
发布时间:2019-04-28

本文共 2543 字,大约阅读时间需要 8 分钟。

# from aip import AipFace""" 你的 APPID AK SK """# APP_ID = '20482210'# API_KEY = 'eWO1feyQ6OEIITtoaTOVjkZ1'# SECRET_KEY = '0G5qku0VZwDEKdwRnzVMOddZAfn1Y0o7'# 首先pip install baidu-aip# SDK文档链接http://ai.baidu.com/docs#/Face-Python-SDK/topimport sysimport sslimport urllibimport sslfrom urllib import request, parseimport json# client_id 为官网获取的AK, client_secret 为官网获取的SKdef get_token():    context = ssl._create_unverified_context()    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=eWO1feyQ6OEIITtoaTOVjkZ1&client_secret=0G5qku0VZwDEKdwRnzVMOddZAfn1Y0o7'    request = urllib.request.Request(host)    request.add_header('Content-Type', 'application/json; charset=UTF-8')    response = urllib.request.urlopen(request, context=context)    # 获取请求结果    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 = json.dumps(        [{"image": str(pic1, 'utf-8'), "image_type": "BASE64", "face_type": "LIVE", "quality_control": "LOW"},         {"image": str(pic2, 'utf-8'), "image_type": "BASE64", "face_type": "IDCARD", "quality_control": "LOW"}]    )    return params.encode(encoding='UTF8')# 进行对比获得结果def img(file1path, file2path):    token = get_token()    # 人脸识别API    # url = 'https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token='+token    # 人脸对比API    context = ssl._create_unverified_context()    # url = 'https://aip.baidubce.com/rest/2.0/face/v3/match?access_token=' + token    params = imgdata(file1path, file2path)    request_url = "https://aip.baidubce.com/rest/2.0/face/v3/match"    request_url = request_url + "?access_token=" + token    request = urllib.request.Request(url=request_url, data=params)    request.add_header('Content-Type', 'application/json')    response = urllib.request.urlopen(request, context=context)    content = response.read()    content = eval(content)    # # 获得分数    score = content['result']['score']    if score > 80:        return '照片相似度:' + str(score) + ',同一个人'    else:        return '照片相似度:' + str(score) + ',不是同一个人'if __name__ == '__main__':    file1path = '1.jpg'    file2path = '2.jpg'    res = img(file1path, file2path)    print(res)

python调用百度api进行人脸识别

 

 

转载地址:http://cjmof.baihongyu.com/

你可能感兴趣的文章
【Pyton】【小甲鱼】文件
查看>>
【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
查看>>
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>
【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)
查看>>
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>
Python几种并发实现方案的性能比较
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Python】用Python打开csv和xml文件
查看>>
【Loadrunner】性能测试报告实战
查看>>