百度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 即可!