我们如何显示来自 azure face api 的 face id 的名字?
How can we show name with face id from azure face api?
我有一个个人组,我在其中存储了所有用户 ID 和名称。我查看了关于人脸 api 的天蓝色文档,但我没有得到任何根据人脸 ID 显示名称的信息。不久之前,我曾将名称和 ID 存储在与显示名称不同的 python 文件中。但后来我认为我们已经将名称和 ID 存储在 azure 中,为什么要创建另一个文件并将数据存储 2 次而不是直接从面部 api 显示名称。谁能指导我如何显示带有 id 的名称?
def face_identify(faceId):
global person
KEY = parser.get('AzCognitiveServices','Ocp-Apim-Subscription-Key')
headers = {
# Request headers
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': KEY,
}
params = urllib.urlencode({
})
if faceId is None:
person = ""
return
group = parser.get('AzCognitiveServices','PersonGroupId')
candidatesreturned = list(parser.get('AzCognitiveServices','maxNumOfCandidatesReturned'))
threshold = parser.get('AzCognitiveServices','confidenceThreshold')
body = "{'personGroupId' : '" + group + "','faceIds' : [%s],'maxNumOfCandidatesReturned' : 1,'confidenceThreshold': 0.5}" % str("'%s'"%faceId)
logger.info(body)
try:
uri_base = parser.get('AzCognitiveServices','BaseURL')
path_to_face_api = "/face/v1.0/identify"
response = requests.post(uri_base + path_to_face_api,
data=body,
headers=headers,
params=params,timeout=int(parser.get('AzCognitiveServices','Timeout')))
#response = conn.getresponse()
data = response.json()
logger.info('face id %s',data)
candidates = data[0]["candidates"]
if len(candidates) > 0:
person = str(candidates[0]["personId"])
else:
person = ""
print(person)
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
如果您在创建这些项目时存储了您的人员姓名,那么当您找到一个人时,您只需通过 ID 获取您的 PersonGroup。
所以在你的代码中,就是在这一步:
person = str(candidates[0]["personId"])
这里有找到的人的personId。将其与 PersonGroup Person 的 GET 方法一起使用,请参阅文档 here。它需要您的 PersonGroupId 和 PersonId。
您将检索到您要查找的姓名
我有一个个人组,我在其中存储了所有用户 ID 和名称。我查看了关于人脸 api 的天蓝色文档,但我没有得到任何根据人脸 ID 显示名称的信息。不久之前,我曾将名称和 ID 存储在与显示名称不同的 python 文件中。但后来我认为我们已经将名称和 ID 存储在 azure 中,为什么要创建另一个文件并将数据存储 2 次而不是直接从面部 api 显示名称。谁能指导我如何显示带有 id 的名称?
def face_identify(faceId):
global person
KEY = parser.get('AzCognitiveServices','Ocp-Apim-Subscription-Key')
headers = {
# Request headers
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': KEY,
}
params = urllib.urlencode({
})
if faceId is None:
person = ""
return
group = parser.get('AzCognitiveServices','PersonGroupId')
candidatesreturned = list(parser.get('AzCognitiveServices','maxNumOfCandidatesReturned'))
threshold = parser.get('AzCognitiveServices','confidenceThreshold')
body = "{'personGroupId' : '" + group + "','faceIds' : [%s],'maxNumOfCandidatesReturned' : 1,'confidenceThreshold': 0.5}" % str("'%s'"%faceId)
logger.info(body)
try:
uri_base = parser.get('AzCognitiveServices','BaseURL')
path_to_face_api = "/face/v1.0/identify"
response = requests.post(uri_base + path_to_face_api,
data=body,
headers=headers,
params=params,timeout=int(parser.get('AzCognitiveServices','Timeout')))
#response = conn.getresponse()
data = response.json()
logger.info('face id %s',data)
candidates = data[0]["candidates"]
if len(candidates) > 0:
person = str(candidates[0]["personId"])
else:
person = ""
print(person)
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
如果您在创建这些项目时存储了您的人员姓名,那么当您找到一个人时,您只需通过 ID 获取您的 PersonGroup。
所以在你的代码中,就是在这一步:
person = str(candidates[0]["personId"])
这里有找到的人的personId。将其与 PersonGroup Person 的 GET 方法一起使用,请参阅文档 here。它需要您的 PersonGroupId 和 PersonId。
您将检索到您要查找的姓名