zoukankan      html  css  js  c++  java
  • 百度api实现人脸对比

    第一步(注册账号):

    点这里注册百度云账号

    如图:

    创建应用得到
    APP_ID
    API_KEY
    SECRET_KEY
    在这里插入图片描述

     

    第二步(代码):

    import requests
    import base64
    import json
    # 1,准备好申请的人脸识别api,API Key, Secret Key
    api1="https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的id &client_secret=你的Secret Key"
    # api2="https://aip.baidubce.com/rest/2.0/face/v3/match"
    
    # 2,获取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_token
        return api2
    
    # 3,读取图片数据
    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
    
    # 4,发起请求拿到对比结果
    def analyse_img(file1,file2):
        params=read_img(file1,file2)
        api=get_token()
        content=requests.post(api,params).text
        # print(content)
        score=eval(content)['result']['score']
        if score>80:
            print('图片识别相似度度为'+str(score)+'%,是同一人')
        else:
            print('图片识别相似度度为'+str(score)+'%,不是同一人')
    
    analyse_img("img1.jpg","img2.jpg")

    只要在同级目录下放上img1.jpg 和 img2.jpg 即可!

  • 相关阅读:
    javascript关于面向对象的总结
    实现ICollection
    sqlbishi
    什么叫IOC(编程术语
    ASP.Net绘制柱状图和曲线图示例
    Web.config配置知识
    asp.net的生成曲线图的过程简单实例
    asp.net与.net编程常用函数与方法汇总
    C# 值类型与类的不同
    一步一步学Linq to sql(一):预备知识
  • 原文地址:https://www.cnblogs.com/Ctrl-cCtrl-v/p/12746464.html
Copyright © 2011-2022 走看看