Baidu Cloud Face Recognition API library manager

 
 1 from urllib import request
 2 import base64
 3 import requests
 4 import re
 5 import json
 6 import urllib
 7 import os
 8 
 9 # 获取token
10 def get_token(client_id,client_secret):
11     host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+ client_id + '&client_secret='+ client_secret + ''
12     headers = {'Content-Type': 'application/json; charset=UTF-8'}
13     res = requests.post(host, headers=headers)
14     access_token = re.findall('"access_token":"(.*?)"', res.text)[0]
15     return access_token
16 
17 # 打开文件夹,进行对比
18 def geturlPath(path):
19     dirs = os.listdir(path)
20     lst = []
21     for dir1 in dirs:
22         path = + PA dir1
 23 is          lst.append (PA)
 24      return LST
 25  
26 is  # open the local image, and converted into Base64 
27  DEF open_pic2base (Image):
 28      F = Open (Image, ' RB ' )
 29      IMG = base64.b64encode . (reached, f.read ()) decode ( ' UTF-. 8 ' )
 30      return IMG
 31 is  
32  DEF Search (Image3, client_id, client_secret, Groups):
 33 is      request_url = " https://aip.baidubce.com/rest/2.0 / face / v3 / Search " 
34     for image in image3:
35         a = open_pic2base(image)
36         params =json.dumps({"image":a,"image_type":"BASE64","group_id_list":groups})
37         access_token = get_token(client_id, client_secret)
38         request_url = request_url + "?access_token=" + access_token
39         params = params.encode("utf-8")
40 
41         request = urllib.request.Request(url=request_url, data=params)
42 
43         request.add_header('Content-Type', 'application/json')
44         response = urllib.request.urlopen(request)
45         content = response.read()
46         user = 'not find'
47         if content:
48             result = json.loads(content.decode('utf-8'))
49             print(result)
50             if result['error_code']==0:
51                 lst = []
52                 sets = {}
53                 user=result['result']['user_list'][0]
54                 group_id = user["group_id"]
55                 user_id=user['user_id']
56                 score = user['score']
57                 sets [ " host group " ] = group_id
 58                  sets [ " similar user " ] = user_id
 59                  sets [ " similarity score " ] = Score
 60                  lst.append (sets)
 61 is                  Print (LST)
 62 is                  IF Score> 85 :
 63                      add_face2ku = face_add (Image, group_id, user_id)
 64-                  the else :
 65                    Pass 
66  
67  DEF face_add (Image, group_id, user_id):
68     request_url = 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add'
69     params = json.dumps({"image":open_pic2base(image),"image_type":"BASE64","group_id":group_id,"user_id":user_id})
70     access_token = get_token(client_id, client_secret)
71     request_url = request_url + "?access_token=" + access_token
72     params = params.encode("utf-8")
73     request = urllib.request.Request(url=request_url, data=params)
74     request.add_header('Content-Type', 'application/json')
75     response = urllib.request.urlopen(request)
76     return response
77 
78 if __name__ == '__main__':
79     client_id = 'MeZaaKIbOt5DGp4cfxGpv4wa'
80     client_secret = ' ImadHITTnAvtGkLeugrNUNuG3NOdiE7Q ' 
81      path = R & lt ' G: / images5 / ' 
82  
83      Image3 = geturlPath (path)
 84  
85      # picture gallery compared with incoming specified group 
86      Search (Image3, client_id, client_secret, ' the Actor ' )

 

Guess you like

Origin www.cnblogs.com/erlchixiha/p/11805258.html