地址: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":"曾江" } ] }