文档简介:
人脸属性识别接口说明
接口描述
用于检测输入图像中的人脸年龄、性别等属性
接口要求
图片格式:
1. 图片单张大小不超过 2MB
2. 图片格式支持jpg/png/bmp等
请求说明
-
请求示例
HTTP方法:POST
请求URL:/v1/aiop/api/[系统生成的服务码]/face/PERSON/person/detectAgeGenderFromBase64
-
请求头说明
参数 |
值(说明) |
Content-Type |
application/json |
Sign |
MD5(AppKey + AppSecret + Timestamp + Path + Http Body),32位小写的MD5加密串 |
Timestamp |
13位时间戳 |
AppKey |
平台分配给应用独立的AppKey |
-
请求参数
参数 |
是否必选 |
类型 |
可选值范围 |
说明 |
imageContent |
true |
string |
- |
传入图片的base64编码 |
-
请求代码示例
Bash:
curl -X POST "/v1/aiop/api/[系统生成的服务码]/face/PERSON/person/detectAgeGenderFromBase64" -H "Content-Type: application/json" -H 'Sign: XXXXX' -H 'Timestamp: XXXXX' -H 'AppKey: XXXXX' --data '{"imageContent":"AAAAAAAAA...."}'
Python:
# -*- coding: utf-8 -*-
import requests
import base64
import hashlib
import time
import json
'''
人脸属性检测
'''
def md5(key):
input_name = hashlib.md5()
input_name.update(key.encode("utf-8"))
return input_name.hexdigest()
request_url = "人脸属性检测的API URL"
# 打开图片文件
f = open(r'[本地文件]', 'rb')
img_base64 = base64.encodebytes(f.read()).decode()
params = {"imageContent": img_base64}
app_key = '平台分配的APP Key'
app_secret = '平台分配的APP Secret'
time_stamp = str(int(round(time.time() * 1000)))
headers = {
'content-type': 'application/json',
'Sign': md5(app_key + app_secret + time_stamp + '/v1/aiop/api/[系统生成的服务码]/face/PERSON/person/detectAgeGenderFromBase64' + json.dumps(params)),
'Timestamp': time_stamp,
'AppKey': app_key
}
response = requests.post(request_url, data=json.dumps(params), headers=headers)
if response:
print(response.json())
返回说明
API调用成功返回值:
返回字段 |
类型 |
字段说明 |
code |
int |
返回状态,返回0表示成功 |
message |
string |
返回对应的可读消息 |
result[‘face_num’] |
int |
图片中人脸的数量 |
result[‘face_list’] |
list |
每个人脸的详细信息 |
result[‘face_list’][0]['face_loaction'] |
dict |
人脸所处的位置 |
result[‘face_list’][0]['gender'] |
str |
人脸的性别属性 |
result[‘face_list’][0]['age'] |
str |
人脸的年龄属性 |
API调用失败返回值
返回字段 |
是否必选 |
类型 |
字段说明 |
code |
true |
int |
错误码,参见本文档错误码说明部分 |
message |
true |
string |
返回对应的可读消息,值为error |
details |
true |
string |
错误消息 |
返回示例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"message" : "success",
"code" : "0",
"result":{
"face_num" : 1,
"face_list" : [{
"face_location" : {
"top" : 36,
"left" : 48,
"width" : 58,
"height" : 72
},
"gender" : "Male",
"age" : "23"
}]
}
}
错误码说明
错误代码 |
错误消息 |
错误可能原因 |
4101 |
请求内容错误 |
传入内容为空,或者传入的参数名错误 |
4102 |
请求参数格式错误 |
参数格式不满足要求,如请求体不是json格式等 |
4103 |
图片大小超过2M |
图片大小超过2M |
4104 |
图片解码失败 |
图片为空,base64编码内容有误,或图片格式不支持 |
4105 |
未检测到人脸 |
上传图片中不包含人脸 |