百度api實現人臉對比

 

第一步(註冊帳號):

 

點這裡註冊百度雲帳號

如圖:

 

 

 

 

創建應用得到
APP_ID
API_KEY
SECRET_KEY
在這裡插入圖片描述

 

第二步(程式碼):

import requests
import base64
import json
# 1,準備好申請的人臉識別api,API Key, Secret Key
api1="//aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的id &client_secret=你的Secret Key"
# api2="//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="//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 即可!