地址:http://face.pr.oa.com/upload_img.cgi
图片上传接口将客户端图片保存在服务器,向客户端返回URL。 如果后续人脸计算接口是以GET方式调用,则必须以该URL作为图片参数。 如果是以POST方式调用,则不需要调用此接口。
返回示例:
{
"url":"http://face.pr.oa.com/upload_pics/fa2c46db7e501811.jpg",//图片URL
"img_id":"fa2c46db7e501811",//图片ID
"ret":0,//返回值,0表示上传成功
"raw_file_type":"jpg"//原始图片类型
}
地址:http://api.face.pr.qq.com/detection/detect
人脸检测接口可以在给定的图片中检测存在的人脸,并对属性进行分析。上传图片,将返回每个人脸框的位置、大小,眼睛的位置,嘴巴的位置,以及每张脸的年龄和性别。
调用参数如下:
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| url | 图片URL,需要urlencode,目前仅支持本站域名下的url |
调用示例及返回:
{
"url":"http://face.pr.oa.com/upload_pics/a9b1f0f2e0df1bcf.png",//原始图片URL
"img_height":347, //原始图像高度
"img_width":246, //原始图像宽度
"ret":0, //返回值,0表示检测成功
"face":[ //包含脸的数组
{
"topleftX":69, //人脸框左上角横坐标
"topleftY":153, //人脸框左上角纵坐标
"attr":{
"gender":"female", //性别
"age":24 //年龄
},
"eyes":{
"xright":163, //右眼横坐标
"yleft":174, //左眼纵坐标
"yright":178, //右眼横坐标
"xleft":96 //左眼横坐标
},
"height":132, //人脸框高度
"width":126, //人脸框宽度
"mouth":{
"xright":154, //右嘴角横坐标
"yleft":243, //左嘴角横坐标
"yright":247, //右嘴角纵坐标
"xleft":100 //左嘴角横坐标
}
}
]
}
1.接口地址:http://api.face.pr.qq.com/detection/detect?key=YOUR_KEY&encrypt=1
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| encrypt | 是否采用加密:1为采用;0为不采用 |
2.POST内容:
若不采用加密,则POST的内容为:
request_str + “\0” + 图片内容
request_str为如下形式的字符串:
key=demo_key&pic_num=1&pic_size0=78089
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| pic_num | 图片数,这里=1 |
| pic_size0 | 图片的大小 |
若采用加密传输,则POST内容为:
AES加密( request_str + "\0" + 图片内容)
POST内容采用AES算法加密,加密密钥为注册时获得的API secret
3.调用返回:
{
"ret":0, //返回值,0为检测成功
"img_height":347, //原始图像高度
"img_width":246, //原始图像宽度
"face":[ //包含脸的数组
{
"topleftX":69, //人脸框左上角横坐标
"topleftY":153, //人脸框左上角纵坐标
"attr":{
"gender":"female", //性别
"age":24 //年龄
},
"eyes":{
"xright":163, //右眼横坐标
"yleft":174, //左眼纵坐标
"yright":178, //右眼纵坐标
"xleft":96 //左眼横坐标
},
"height":132, //人脸框高度
"width":126, //人脸框宽度
"mouth":{
"xright":154, //右嘴角横坐标
"yleft":243, //左嘴角纵坐标
"yright":247, //右嘴角纵坐标
"xleft":100 //左嘴角横坐标
}
}
]
}
地址:http://api.face.pr.qq.com/compare
接收两张图片,对两张图中的脸进行对比,返回找到的脸和相似度。相似度为0-1的小数。
调用参数如下:
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| url | 图片1的URL,需要urlencode,目前仅支持本站域名下的url |
| url2 | 图片2的URL,需要urlencode,目前仅支持本站域名下的url |
调用示例及返回:
{
"ret":0, //返回值,0为执行成功
"scores":[
[
0.5204994082450867,
0.549809992313385,
0.568635880947113
]
],//二维数组,两组人脸相似度得分,若两张图片中检测到的人脸数分别为n和m,则此二维数组为n行m列
"url":"http://face.pr.oa.com/upload_pics/3f50a772b95e3516.jpg",//第一张图片URL
"img_width":194, //第一张图像宽度
"img_height":243, //第一张图像高度
"face":[ //第一张图片中检测到的人脸数组
{ //第一张图中的第一张脸
"topleftX":60,
"topleftY":54,
"eyes":{
"xright":111,
"yleft":70,
"yright":66,
"xleft":76
},
"height":68,
"width":68,
"mouth":{
"xright":111,
"yleft":108,
"yright":106,
"xleft":89
}
}
],
"url2":"http://face.pr.oa.com/upload_pics/241959ab9fa8b90c.jpg",//第二张图片URL
"img_height2":441, //第二张图像高度
"img_width2":632, //第二张图像宽度
"face2":[ //第二张图片中找到的人脸数组
{ //第二张图中的第一张人脸
"topleftX":99,
"topleftY":75,
"eyes":{
"xright":132,
"yleft":87,
"yright":85,
"xleft":109
},
"height":48,
"width":46,
"mouth":{
"xright":131,
"yleft":109,
"yright":108,
"xleft":112
}
},
{ //第二张图中的第二张人脸
"topleftX":396,
"topleftY":166,
"eyes":{
"xright":433,
"yleft":182,
"yright":179,
"xleft":411
},
"height":55,
"width":55,
"mouth":{
"xright":432,
"yleft":203,
"yright":200,
"xleft":414
}
},
{ //第二张图中的第三张人脸
"topleftX":276,
"topleftY":271,
"eyes":{
"xright":311,
"yleft":283,
"yright":280,
"xleft":289
},
"height":52,
"width":50,
"mouth":{
"xright":308,
"yleft":307,
"yright":306,
"xleft":294
}
}
]
}
1.接口地址:http://api.face.pr.qq.com/compare?key=YOUR_KEY&encrypt=1
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| encrypt | 是否采用加密:1为采用;0为不采用 |
2.POST内容:
若不采用加密,则POST的内容为:
request_str + “\0” + 图片内容
request_str为如下形式的字符串:
key=demo_key&pic_num=2&pic_size0=78089&pic_size1=162495
其中参数的含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| pic_numt | 图片数,这里=2 |
| pic_size0 | 第一张图片的大小 |
| pic_size1 | 第二张图片的大小 |
若采用加密传输,则POST内容为:
AES加密( request_str + “\0” + 图片内容)
POST内容采用AES算法加密,加密密钥为注册时获得的API secret
3.调用返回:
{
"ret":0, //返回值,0为执行成功
"scores":[
[
0.5204994082450867,
0.549809992313385,
0.568635880947113
]
],//二维数组,两组人脸相似度得分,若两张图片中检测到的人脸数分别为n和m,则此二维数组为n行m列
"img_width":194, //第一张图像宽度
"img_height":243, //第一张图像高度
"face":[ //第一张图片中检测到的人脸数组
{ //第一张图中的第一张脸
"topleftX":60,
"topleftY":54,
"eyes":{
"xright":111,
"yleft":70,
"yright":66,
"xleft":76
},
"height":68,
"width":68,
"mouth":{
"xright":111,
"yleft":108,
"yright":106,
"xleft":89
}
}
],
"img_height2":441, //第二张图像高度
"img_width2":632, //第二张图像宽度
"face2":[ //第二张图片中找到的人脸数组
{ //第二张图中的第一张人脸
"topleftX":99,
"topleftY":75,
"eyes":{
"xright":132,
"yleft":87,
"yright":85,
"xleft":109
},
"height":48,
"width":46,
"mouth":{
"xright":131,
"yleft":109,
"yright":108,
"xleft":112
}
},
{ //第二张图中的第二张人脸
"topleftX":396,
"topleftY":166,
"eyes":{
"xright":433,
"yleft":182,
"yright":179,
"xleft":411
},
"height":55,
"width":55,
"mouth":{
"xright":432,
"yleft":203,
"yright":200,
"xleft":414
}
},
{ //第二张图中的第三张人脸
"topleftX":276,
"topleftY":271,
"eyes":{
"xright":311,
"yleft":283,
"yright":280,
"xleft":289
},
"height":52,
"width":50,
"mouth":{
"xright":308,
"yleft":307,
"yright":306,
"xleft":294
}
}
]
}
地址:http://api.face.pr.qq.com/search?type=star_face
接收1张图片,找出其中所有的脸,并返回每一张脸最相似的明星脸。
调用参数如下:
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| url | 图片的URL,需要urlencode,目前仅支持本站域名下的url |
| type | type=star_face表示搜索明星脸l |
调用示例及返回:
{
"ret":0, //返回值,0为搜索成功
"url":"http://face.pr.oa.com/upload_pics/e246ba294bd6844f.jpg",//原始图像URL
"img_height":500, //原始图像高度
"img_width":333, //原始图像宽度
"face":[ //图片中找到的脸的数组
{
"topleftX":93, //人脸框左上角横坐标
"topleftY":63, //人脸框左上角纵坐标
"height":138, //人脸框高度
"width":138, //人脸框宽度
"eyes":{
"xright":191,
"yleft":98,
"yright":99,
"xleft":127
},
"mouth":{
"xright":187,
"yleft":162,
"yright":162,
"xleft":132
},
"stars":[ //与该人脸最相似的明星脸数组,按相似度从大到小排列
{ //第一个明星
"score":60.339717864990234,//相似度0-100.0
"name":"朱军", //明星名字
"nLabel":1820 //明星序号
},
{ //第二个明星
"score":57.09498596191406,
"name":"曾江",
"nLabel":1818
},
{
"score":56.60051727294922,
"name":"石康",
"nLabel":2064
},
{
"score":56.45879364013672,
"name":"黄渤",
"nLabel":2424
},
{
"score":55.654144287109375,
"name":"马云",
"nLabel":2362
}
]
}
]
}
1.接口地址:http://api.face.pr.qq.com/search?key=YOUR_KEY&encrypt=1
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| encrypt | 是否采用加密:1为采用;0为不采用 |
2.POST内容:
若不采用加密,则POST的内容为:
request_str + “\0” + 图片内容
request_str为如下形式的字符串:
key=demo_key&type=star_face&pic_num=1&pic_size0=78089
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| type | 搜索种类,搜索明星脸为star_face |
| pic_num | 图片数,这里=1 |
| pic_size0 | 图片的大小 |
若采用加密传输,则POST内容为:
AES加密( request_str + "\0" + 图片内容)
POST内容采用AES算法加密,加密密钥为注册时获得的API secret
3.调用返回:
{
"ret":0, //返回值,0为搜索成功
"img_height":500, //原始图像高度
"img_width":333, //原始图像宽度
"face":[ //图片中找到的脸的数组
{
"topleftX":93, //人脸框左上角横坐标
"topleftY":63, //人脸框左上角纵坐标
"height":138, //人脸框高度
"width":138, //人脸框宽度
"eyes":{
"xright":191,
"yleft":98,
"yright":99,
"xleft":127
},
"mouth":{
"xright":187,
"yleft":162,
"yright":162,
"xleft":132
},
"stars":[ //与该人脸最相似的明星脸数组,按相似度从大到小排列
{ //第一个明星
"score":60.339717864990234,//相似度0-100.0
"name":"朱军", //明星名字
"nLabel":1820 //明星序号
},
{ //第二个明星
"score":57.09498596191406,
"name":"曾江",
"nLabel":1818
},
{
"score":56.60051727294922,
"name":"石康",
"nLabel":2064
},
{
"score":56.45879364013672,
"name":"黄渤",
"nLabel":2424
},
{
"score":55.654144287109375,
"name":"马云",
"nLabel":2362
}
]
}
]
}
人脸识别的第一步是人脸注册,提交一张图片,并告诉系统图中人的身份(group和tag)。
系统会在图片中找到最大的一张人脸,提取特征,并与用户提交的身份绑定,返回成功或失败。
此接口只支持加密方式的POST调用。
1.接口地址:http://api.face.pr.qq.com/recognize?key=YOUR_KEY&encrypt=1
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| encrypt | 是否采用加密:1为采用;0为不采用 |
2.POST内容:
采用加密传输,POST的内容为:
AES加密( request_str + “\0” + 图片内容)
POST内容采用AES算法加密,加密密钥为注册时获得的API secret
request_str为如下形式的字符串:
key=demo_key&cmd=1&tag=john&group=0&pic_num=1&pic_size0=78089
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| cmd | 人脸识别命令字,人脸注册请求cmd=1 |
| tag | 图中人的身份标签,由客户端决定 |
| group | 分组号,默认为0,客户端决定,用于划定注册和识别范围 |
3.调用返回:
{
"ret":0, //返回值,0为注册成功
"img_height":347, //原始图像高度
"img_width":246, //原始图像宽度
"face":[ //包含脸的数组这里只返回图片中最大的一张脸
{
"topleftX":69,
"topleftY":153,
"height":132,
"width":126,
"attr":{
"gender":"female",
"age":24
},
"eyes":{
"xright":163,
"yleft":174,
"yright":178,
"xleft":96
},
"mouth":{
"xright":154,
"yleft":243,
"yright":247,
"xleft":100
}
}
]
}
删除指定group中指定的tag。
此接口只支持加密方式的POST调用。
1.接口地址:http://api.face.pr.qq.com/recognize?key=YOUR_KEY&encrypt=1
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| encrypt | 是否采用加密:1为采用;0为不采用 |
2.POST内容:
采用加密传输,POST的内容为:
AES加密( request_str + “\0” + 图片内容)
POST内容采用AES算法加密,加密密钥为注册时获得的API secret
request_str为如下形式的字符串:
key=demo_key&cmd=2&group=0&tag=john
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| cmd | 人脸识别命令字,人脸删除请求cmd=2 |
| group | 分组号 |
| tag | 要删除的人脸tag |
3.调用返回:
{
"ret":0, //返回值,0为删除成功
}
提交一张图片,系统以图片中最大的脸在指定的group中找到与该脸相似度最高的一组tag。
此接口只支持加密方式的POST调用。
1.接口地址:http://api.face.pr.qq.com/recognize?key=YOUR_KEY&encrypt=1
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| encrypt | 是否采用加密:1为采用;0为不采用 |
2.POST内容:
采用加密传输,POST的内容为:
AES加密( request_str + “\0” + 图片内容)
POST内容采用AES算法加密,加密密钥为注册时获得的API secret
request_str为如下形式的字符串:
key=demo_key&cmd=4&group=0&pic_num=1&pic_size0=78089
其中的参数含义如下表
| 参数名 | 参数含义 |
|---|---|
| key | API Key |
| cmd | 人脸识别命令字,人脸识别请求cmd=4 |
| group | 分组号,默认为0,客户端决定,用于划定注册和识别范围 |
| pic_num | 图片数,这里为1 |
| pic_size0 | 图片大小 |
3.调用返回:
{
"ret":0, //返回值,0为识别成功
"img_height":347, //原始图像高度
"img_width":246, //原始图像宽度
"face":[ //包含脸的数组这里只返回图片中最大的一张脸
{
"topleftX":69,
"topleftY":153,
"attr":{
"gender":"female",
"age":24
},
"eyes":{
"xright":163,
"yleft":174,
"yright":178,
"xleft":96
},
"height":132,
"width":126,
"mouth":{
"xright":154,
"yleft":243,
"yright":247,
"xleft":100
}
}
],
"tags":[//与该人脸最相似的人的身份数组,按相似度从大到小排列
{ //第一个人
"score":60.339717864990234,
"tag":"朱军"
},
{ //第二个人
"score":57.09498596191406,
"tag":"曾江"
}
]
}