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人脸对比的更多相关文章

  1. 基于node.js人脸识别之人脸对比

    基于node.js人脸识别之人脸对比 Node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O ...

  2. python编辑器对比和推荐

    python编辑器对比和推荐   我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出.有些我没有用过,先不写了.以下是我使用过的python IDE: 除了PythonWin, Visua ...

  3. python性能对比

    python性能对比之items #1 #-*- coding:utf8-*- import datetime road_nodes = {} for i in range(5000000): roa ...

  4. 关于dlib人脸对比,人脸识别

    人脸检测 人脸特征点提取 人脸对比,等于两张人脸对比,识别 封装的所有识别函数,直接看下面调用就好了. # coding:utf-8 ''' 本本次封装,我主要是做两张人脸对比. 就只人脸识别部分,简 ...

  5. python3 百度AI-v3之 人脸对比 & 人脸检测 & 在线活体检测 接口

    #!/usr/bin/python3 # 百度人脸对比 & 人脸检测api-v3 import sys, tkinter.messagebox, ast import ssl, json,re ...

  6. python人脸识别

    需要掌握知识python,opencv和机器学习一类的基础 过一段时间代码上传github,本人菜j一个,虽然是我自己谢的,也有好多不懂,或者我这就是错误方向 链接:https://pan.baidu ...

  7. 【python人脸识别】使用opencv识别图片中的人脸

    概述: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库 为什么有OpenCV? 计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种: 1.研究 ...

  8. ruby和Python简单对比

    前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果   序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时 ...

  9. OpenCV + Python 人脸检测

    必备知识 Haar-like opencv api 读取图片 灰度转换 画图 显示图像 获取人脸识别训练数据 探测人脸 处理人脸探测的结果 实例 图片素材 人脸检测代码 人脸检测结果 总结 下午的时候 ...

随机推荐

  1. 4500-X启动到“511K bytes of non-volatile configuration memory”,无法继续?

    在设备做了某些配置后,尤其是升级,重启设备后,发现设备在如下界面卡住,无法进一步进入CLI命令行. Platform Manager: starting in standalone mode (act ...

  2. Go语言内置包之strconv

    文章引用自 Go语言内置包之strconv Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换. strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下 ...

  3. JDK8;HashMap:再散列解决hash冲突 ,源码分析和分析思路

    JDK8中的HashMap相对JDK7中的HashMap做了些优化. 接下来先通过官方的英文注释探究新HashMap的散列怎么实现 先不给源码,因为直接看源码肯定会晕,那么我们先从简单的概念先讲起   ...

  4. Top 9 colleges in the world from 2010 to 2020, AI and interdisciplinary areas.

    http://csrankings.org/

  5. python学习之HTML

    1.HTML初知 <!DOCTYPE html> <html lang="en"> <head> html头 <meta charset= ...

  6. Python - input时的strip()

    例如在读文件里面的文本时,每一行默认后面有\n或者有\r,所以strip用于去除首尾空格或者回车符.

  7. combobox实现模糊搜索匹配

    如图,输入关键字,进行匹配检索: 这里使用的是combobox组合框,对于combobox的创建可以使用<input>输入框,也可以使用<select>下拉选 HTML代码: ...

  8. Centos 安装 mysql 5.7

    下载mysql yum包 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 安转软件源 xxx.rpm是刚刚 ...

  9. matplotlib显示AttributeError: 'module' object has no attribute 'verbose'

    解决办法:file-settings-tools-python scientific,将show plots in toolwindow前面的对号去掉即可.

  10. 批处理执行Testng

    @echo off set LIB=项目的jar路径 set CLASSPATH=%LIB%\jar\commons-beanutils-.jar;%LIB%\jar\testng.jar;%LIB% ...