youtu
faceshape faceverify newperson addface setinfo getgroupids getfaceids
人体识别API
图像识别API
fooddetect imageporn carclassify
文字识别API
handwritingocr bcocr creditcardocr driverlicenseocr
音频技术API
图像处理API
关于优图
腾讯优图实验室是腾讯旗下机器学习研发团队,专注于图像处理、模式识别、机器学习、数据挖掘、深度学习、音频语音分析等领域开展技术研发和业务落地。
使用本模块前请先阅读
模块概览
本模块封装了腾讯优图的开放SDK,可以进行人脸识别、人体识别、图像识别及文字识别,同时该模块还具有语音合成和人脸融合功能
使用此模块之前必须先配置 config 文件,配置方法如下:
- 名称:youtu
- 参数:appID、secretID和secretKey
- 配置示例:
字段描述:
appID:接入优图服务时,生成的唯一id, 用于唯一标识接入业务,参考开发者注册及管理后台。
secretID:标识api鉴权调用者的密钥身份,参考。
secretKey:用于加密签名字符串和服务器端验证签名字符串的密钥,secret_key 必须严格保管避免泄露,参考开发者注册及管理后台。
模块接口
detectface
检测给定图片(Image)中的所有人脸(Face)的位置和相应的面部属性。位置包括(x,y,w,h),面部属性包括性别(gender),年龄(age),表情(expression),魅力(beauty),眼镜(glasses)和姿态(pitch,roll,yaw),至多返回5个人脸的属性。
detectface({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
mode:
- 类型:数字类型
- 描述:检测模式 0/1正常/大脸模式
- 默认:0
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:检测结果
- 内部字段:
status: true //布尔类型;是否检测成功,true|false
data:{
session_id:'' //保留字段,目前不使用
image_width:10, //数字类型;请求图片的宽度
image_height:10, //数字类型;请求图片的高度
face:[{ //数组类型;被检测出的人脸FaceItem的列表
x:0, //数字类型;人脸框左上角x
y:0, //数字类型;人脸框左上角y
width:0, //数字类型;人脸框宽度
height:0, //数字类型;人脸框高度
gender:0, //数字类型;性别[0/(female)~100(male)]
age:0, //数字类型;年龄[0~100]
expression:0, //数字类型;微笑[0(normal)~50(smile)~100(laugh)]
beauty:0, //数字类型;魅力[0~100]
glasses:0, //数字类型;眼镜[0不戴眼镜 1戴眼镜 2戴墨镜]
pitch:0, //数字类型;上下偏移[-30,30]
yaw:0, //数字类型;左右偏移[-30,30]
roll:0, //数字类型;平面旋转[-180,180]
face_shape:[{ //数组类型;人脸配准坐标(参考人脸配准faceshape接口)
face_profile:[{ //数组类型;描述脸型轮廓的21点
x:0,
y:0,
}],
left_eye:[{ //数组类型;描述左眼轮廓的8点
x:0,
y:0,
}],
right_eye:[{ //数组类型;描述右眼轮廓的8点 x:0,
y:0,
}],
left_eyebrow:[{ //数组类型;描述左眉轮廓的8点
x:0,
y:0,
}],
right_eyebrow:[{ //数组类型;描述右眉轮廓的8点
x:0,
y:0,
}],
mouth:[{ //数组类型;描述嘴巴轮廓的22点
x:0,
y:0,
}],
nose:[{ //数组类型;描述鼻子轮廓的13点
x:0,
y:0,
}],
}],
}],
}
}
err:
- 类型:JSON 对象
- 描述:检测结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.detectface({
imageUrl: '',
mode: 0
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
faceshape
对请求图片进行五官定位,计算构成人脸轮廓的90个点,包括眉毛(左右各8点)、眼睛(左右各8点)、鼻子(13点)、嘴巴(22点)、脸型轮廓(21点)、眼珠[或瞳孔](2点)。各个部分点的顺序如下图所示
faceshape({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
mode:
- 类型:数字类型
- 描述:检测模式 0/1正常/大脸模式
- 默认:0
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:检测结果
- 内部字段:
{
status: true //布尔类型;是否检测成功,true|false
data:{
face_shape:[{ //数组类型;人脸轮廓结构体,包含所有人脸的轮廓点
face_profile:[{ //数组类型;描述脸型轮廓的21点 x:0,
y:0,
}],
left_eye:[{ //数组类型;描述左眼轮廓的8点 x:0,
y:0,
}],
right_eye:[{ //数组类型;描述右眼轮廓的8点
x:0,
y:0,
}],
left_eyebrow:[{ //数组类型;描述左眉轮廓的8点
x:0,
y:0,
}],
right_eyebrow:[{ //数组类型;描述右眉轮廓的8点 x:0,
y:0,
}],
mouth:[{ //数组类型;描述嘴巴轮廓的22点
x:0,
y:0,
}],
nose:[{ //数组类型;描述鼻子轮廓的13点
x:0,
y:0,
}],
session_id:'', //保留字段,目前不使用
image_width:0, //数字类型;请求图片的宽度
image_height:0, //数字类型;请求图片的宽度
}],
}
}
err:
- 类型:JSON 对象
- 描述:检测结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.faceshape({
imageUrl: '',
mode: ''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
facecompare
计算两个Face的相似性以及五官相似度。
facecompare({params},callback(ret, err))
params
imageAUrl:
- 类型:字符串
- 描述:A图片的url,支持fs,widget
imageBUrl:
- 类型:字符串
- 描述:B图片的url,支持fs,widget
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:对比结果
- 内部字段:
{
status: true, //布尔类型;是否对比成功,true|false
data:{
session_id:'' //保留字段,目前不使用
similarity:0, //数字类型;两个face的相似度
}
}
err:
- 类型:JSON 对象
- 描述:对比结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
fail_flag:'' //字符串类型;标志失败图片,1为第一张,2为第二张
}
示例代码
var youtu = api.require('youtu');
youtu.facecompare({
imageAUrl: '',
imageBUrl: ''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
faceverify
给定一个Face和一个Person,返回是否是同一个人的判断以及置信度。
faceverify({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
person_id:
- 类型:字符串
- 描述:待验证的Person
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:对比结果
- 内部字段:
{
status: true //布尔类型;是否验证成功,true|false
data:{
ismatch: true, //布尔类型;两个输入是否为同一人的判断
confidence:'100', //数字类型;系统对这个判断的置信度
session_id:'' //保留字段,目前不使用
},
}
err:
- 类型:JSON 对象
- 描述:验证结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.faceverify({
imageUrl: '',
person_id: ''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
multifaceidentify
上传人脸图片,进行人脸检索。
multifaceidentify({params},callback(ret, err))
params
group_id:
- 类型:字符串
- 描述:检索的groupid(和group_ids二选一)
group_ids:
- 类型:数组类型
- 描述:检索的groupid(和groupid二选一)
topn:
- 类型:数字类型
- 描述:(可选项)候选人脸数量
- 默认:5
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:检索结果
- 内部字段:
{
status: true //布尔类型;是否检索成功,true|false
data:{
candidates:[{
person_id:0, //数字类型;候选者的个体id
faceid:'', //字符串类型;候选者的人脸id
confidence:0, //数字类型;候选者的置信度
tag:'', //字符串类型;人脸备注信息
}],
face_rect:[{ //数组类型;人脸框位置
x:0, //数字类型;人脸位置左上角横坐标
y:0, //数字类型;人脸位置左上角纵坐标
width:0, //数字类型;人脸宽度
height:0, //数字类型;人脸高度
}],
group_size:0, //数字类型;group_id包含的人脸个数
time_ms:0, //数字类型;group_id包含的人脸个数
},
}
err:
- 类型:JSON 对象
- 描述:检索结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.multifaceidentify({
imageUrl: '',
group_id: ''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
newperson
创建一个Person,并将Person放置到group_ids指定的组当中。
newperson({params},callback(ret, err))
params
person_id:
- 类型:字符串
- 描述:指定的个体id
group_ids:
- 类型:数组类型
- 描述:加入到组的列表
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
person_name:
- 类型:字符串类型
- 描述:(可选项)名字
tag:
- 类型:字符串类型
- 描述:(可选项)备注信息
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:创建结果
- 内部字段:
{
status: true //布尔类型;是否创建成功,true|false
data:{
suc_group:2, //数字类型;成功被加入的group数量
suc_face:0, //数字类型;成功加入的face数量
person_id:'', //字符串类型;相应person的id
face_id:'', //字符串类型;创建所用图片生成的face_id
group_ids:['2'], //数组类型;加入成功的组id
},
}
err:
- 类型:JSON 对象
- 描述:创建结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.newperson({
imageUrl: '',
person_id: '',
group_ids:['1']
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
delperson
删除一个Person
delperson({params},callback(ret, err))
params
person_id:
- 类型:字符串
- 描述:待删除个体ID
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:删除结果
{
status: true //布尔类型;是否删除成功,true|false
data:{
session_id:'', //保留字段,目前不使用
person_id:'', //字符串类型;成功删除的person_id
deleted:1, //数字类型;成功删除的Person数量
},
}
err:
- 类型:JSON 对象
- 描述:删除结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.delperson({
person_id:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
addface
将一组Face加入到一个Person中。注意,一个Face只能被加入到一个Person中;一个Person最多允许包含20个Face;一次调用最多加入5个Face;并且加入与库中基本上相同的人脸会返回错误。
addface({params},callback(ret, err))
params
person_id:
- 类型:字符串
- 描述:待增加人脸的个体id
imageUrls:
- 类型:数组
- 描述:图片的url,支持fs,widget,数组中不可同时存在网络和本地图片路径
tag:
- 类型:字符串
- 描述:(可选项)备注信息
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:增加结果
- 内部字段:
{
status: true //布尔类型;是否增加成功,true|false
data:{
session_id:'', //保留字段,目前不使用
added:'', //数字串类型;成功加入的face数量
face_ids:[], //数组类型;增加的人脸ID列表
ret_codes:[], //数组类型;每张图片增加人脸的返回码
},
}
err:
- 类型:JSON 对象
- 描述:增加结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.addface({
person_id:'',
imageUrl:''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
delface
删除一个person下的face,包括特征,属性和face_id.
delface({params},callback(ret, err))
params
person_id:
- 类型:字符串
- 描述:待删除人脸的person ID
face_ids:
- 类型:数组类型
- 描述:删除人脸id的列表
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:删除结果
- 内部字段:
{
status: true //布尔类型;是否删除成功,true|false
data:{
session_id:'', //保留字段,目前不使用
deleted:1, //数字类型;成功删除的face数量
face_ids:[], //数组类型;成功删除的face_id列表
},
}
err:
- 类型:JSON 对象
- 描述:删除结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu. delface({
person_id:'',
face_ids:[]
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
setinfo
设置Person的name.
person_id:
- 类型:字符串
- 描述:相应person的id
person_name:
- 类型:字符串
- 描述:(可选项)新的name
tag:
- 类型:字符串
- 描述:(可选项)备注信息
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:设置结果
- 内部字段:
{
status: true //布尔类型;是否设置成功,true|false
data:{
session_id:'', //保留字段,目前不使用
person_id:'', //字符串类型;相应person的id
},
}
err:
- 类型:JSON 对象
- 描述:设置结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
示例代码
var youtu = api.require('youtu');
youtu.setinfo({
person_id:'',
person_name:''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
getinfo
获取一个Person的信息, 包括name, id, tag, 相关的face, 以及groups等信息。
getinfo({params},callback(ret, err))
params
person_id:
- 类型:字符串
- 描述:相应person的id
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
status: true //布尔类型;是否获取成功,true|false
data:{
session_id:'', //保留字段,目前不使用
person_id:'', //字符串类型;相应person的id
face_ids:[], //数组类型;包含的人脸列表
group_ids:[], //数组类型;包含此个体的组id
tag:'', //字符串类型;用户备注信息
},
}
err:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
示例代码
var youtu = api.require('youtu');
youtu.getinfo({
person_id:'',
person_name:''
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
getgroupids
获取一个AppId下所有group列表
getgroupids(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
status: true //布尔类型;是否获取成功,true|false
data:{
group_ids:[], //数组类型;相应app_id的group_id列表
},
}
err:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.getgroupids(function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
getpersonids
获取一个组Group中所有person列表
getpersonids({params},callback(ret, err))
params
group_id:
- 类型:字符串
- 描述:组id
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
status: true //布尔类型;是否获取成功,true|false
data:{
person_ids:[], //数组类型;相应person的id列表
},
}
err:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.getpersonids({
group_id:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
getfaceids
获取一个组person中所有face列表
getfaceids({params},callback(ret, err))
params
person_id:
- 类型:字符串
- 描述:个体id
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
status: true //布尔类型;是否获取成功,true|false
data:{
face_ids:[], //数组类型;相应face的id列表
},
}
err:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.getfaceids({
person_id:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
getfaceinfo
获取一个face的相关特征信息
getfaceinfo({params},callback(ret, err))
params
face_id:
- 类型:字符串
- 描述:人脸id
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
status: true //布尔类型;是否获取成功,true|false
data:{
face_info:{
face_id:'', //字符串类型;相应face的id列表
x:0, //数字类型;人脸框左上角x
y:0, //数字类型;人脸框左上角y
width:0, //数字类型;人脸框宽度
height:0, //数字类型;人脸框高度
gender:0, //数字类型;性别 [0/(female)~100(male)]
age:0, //数字类型;年龄 [0~100]
expression:0, //数字类型;微笑[0(normal)~50(smile)~100(laugh)]
glass:true, //布尔类型;是否有眼镜 [true,false]
pitch:0, //数字类型;上下偏移[-30,30]
yaw:0, //数字类型;左右偏移[-30,30]
roll:0, //数字类型;平面旋转[-180,180]
},
tag:''
},
}
err:
- 类型:JSON 对象
- 描述:获取结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.getfaceinfo({
face_id:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
classify
上传图片,进行手势识别
classify({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
items:[{
label:'', //字符串类型;类型标签
confidence:100 //置信度
width:0, //数字类型;手的宽度
height:0, //数字类型;手的高度
x:0, //数字类型;手的位置左上角x
y:0, //数字类型;手的位置左上角y
}], //识别结果
classify_cnt:0, //数字类型;成功识别的手势数量
time_ms:0, //数字类型;耗时
image_width:10, //数字类型;请求图片的宽度
image_height:10, //数字类型;请求图片的高度
session_id:'', //保留字段,目前不使用
},
}
err:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.classify({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
fuzzydetect
判断一个图像的模糊程度
fuzzydetect({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
seq:
- 类型:字符串
- 描述:(可选项)标示识别请求的序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:判断结果
- 内部字段:
{
status: true //布尔类型;是否判断成功,true|false
data:{
fuzzy:true, //布尔类型;是否模糊
fuzzy_confidence:0, //数字类型;模糊参考值,范围 0-1的浮点数,越大置信度越高
},
}
err:
- 类型:JSON 对象
- 描述:判断结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.fuzzydetect({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
fooddetect
识别一个图像是否为美食图像
fooddetect({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
seq:
- 类型:字符串
- 描述:(可选项)标示识别请求的序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
food:true, //布尔类型;是否美食
food_confidence:0, //数字类型;模糊参考值,范围 0-1的浮点数,越大置信度越高
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.fooddetect({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
imagetag
识别一个图像的标签信息,对图像分类。
imagetag({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
seq:
- 类型:字符串
- 描述:(可选项)标示识别请求的序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
tags:[
tag_name:'', //字符串类型;返回图像标签的名字
tag_confidence:0, //数字类型;图像标签的置信度,整形范围 0-100,越大置信度越高
]
seq:'' //标示识别请求的序列号
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.imagetag({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
imageporn
识别一个图像是否为色情图像。
imageporn({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
cookie:
- 类型:字符串
- 描述:(可选项)下载url时需要的cookie信息
seq:
- 类型:字符串
- 描述:(可选项)标示识别请求的序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
tags:[ //数组类型;图像的分类标签
tag_name:'', //字符串类型;返回图像标签的名字,目前固定返回十个值, normal表示正常, hot表示性感, porn 表示黄色图像, normal_leve 表示正常级别, breast 表示胸, ass 表示屁股, bare-body 表示裸露身体, unreal-hot-people 表示非真实的性感人物, porn-level表示色情级别, normal_hot_porn: 图像为色情的综合值
tag_confidence:0, //数字类型;图像标签的置信度,范围0-100,越大置信度越高
tag_confidence_f:1 //数字类型;图像标签的置信度,浮点数范围0-1,越大置信度越高
]
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.imageporn({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
imageterrorism
识别一个图像是否为暴恐图像。
imageterrorism({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
cookie:
- 类型:字符串
- 描述:(可选项)下载url时需要的cookie信息
seq:
- 类型:字符串
- 描述:(可选项)标示识别请求的序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
tags:[ //数组类型;图像的分类标签
tag_name:'', //字符串类型;返回图像标签的名字,目前固定返回值为:terrorists 表示恐怖分子,knife 表示刀, guns 表示枪支, blood 表示血液, fire 表示火, flag 表示旗帜, crowd 表示人群, other 表示其他
tag_confidence:0, //数字类型;图像标签的置信度,范围0-100,越大置信度越高
tag_confidence_f:1 //数字类型;图像标签的置信度,浮点数范围0-1,越大置信度越高
],
seq:'' //标示识别请求的序列号
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
var youtu = api.require('youtu');
youtu.imageterrorism({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
carclassify
自动地检测图片车身以及识别车辆属性
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
cookie:
- 类型:字符串
- 描述:(可选项)客户端cookie
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.carclassify({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
generalocr
通用印刷体文字识别,根据用户上传的图像,返回识别出的字段信息。
generalocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
items[{
session_id:'', //保留字段,目前不使用
itemstring:'', //字符串类型;字段字符串
itemcoord:[{ //数组类型;字段在图像中的像素坐标,包括x,y,和width、height;
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}],
words:[{ //数组类型;车字段识别出来的每个字的信息,包括具体的字character,以及字对应的置信度confidence
character:'', //字符串类型;识别出来的字
confidence:0, //数字类型;识别出的单字字符对应的置信度
}],
}]
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.generalocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
handwritingocr
手写体OCR识别,根据用户上传的图像,返回识别出的字段信息。
handwritingocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
session_id :
- 类型:字符串
- 描述:请求序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
session_id:'', //
itemstring:'' //字符串类型;字段字符串
itemcoord:[{ //数组类型;字段在图像中的像素坐标,包括x,y,和width、height;
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}],
words:[{ //数组类型;车字段识别出来的每个字的信息,包括具体的字character,以及字对应的置信度confidence
character:'', //字符串类型;识别出来的字
confidence:0, //数字类型;识别出的单字字符对应的置信度
}],
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.handwritingocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
idcardocr
根据用户上传的包含身份证正反面照片,识别并且获取证件姓名、性别、民族、出生日期、地址、身份证号、证件有效期、发证机关等详细的身份证信息,并且可以返回精确剪裁对齐后的身份证正反面图片
idcardocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
card_type :
- 类型:数字
- 描述:身份证图片类型,0-正面,1-反面
- 默认:0
border_check_flag :
- 类型:布尔
- 描述:是否需要切边。为true时,当检测到切边,直接返回错误码,不返回检测结果;为false时,正常返回检测结果
- 默认:true
session_id :
- 类型:字符串
- 描述:请求序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
name:'', //字符串类型;证件姓名
name_confidence_all:[], //数组类型;证件姓名置信度
sex:'', //字符串类型;性别
sex_confidence_all:[], //数组类型;性别置信度
nation:'', //字符串类型;民族
nation_confidence_all:[], //数组类型;民族置信度
birth:'', //字符串类型;出生日期
birth_confidence_all:[], //数组类型;出生日期置信度
address:'', //字符串类型;地址
address_confidence_all:[], //数组类型;地址置信度
id:'', //字符串类型;身份证号
id_confidence_all:[], //数组类型;身份证号置信度
frontimage :'', //字符串类型;OCR识别的身份证正面照片
frontimage_shahe :'', //字符串类型;OCR识别的身份证正面照片沙河路径
frontimage_confidence_all :[],//数组类型;正面照片置信度
valid_date :'', //字符串类型;证件的有效期
valid_date_confidence_all :[], //数组类型;证件的有效期置信度
valid_date :'', //字符串类型;发证机关
valid_date_confidence_all :[], //数组类型;发证机关置信度
backimage :'', //字符串类型;OCR识别的证件身份证反面照片
backimage_shahe :'', //字符串类型;OCR识别的证件身份证反面照片沙河路径
backimage_confidence_all :[],//数组类型;反面照片置信度
session_id:'', //相应请求的session标识符,可用于结果查询
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.idcardocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
bcocr
名片识别,根据用户上传的名片图像,返回识别出的名片字段信息,目前已支持20多个字段识别(姓名、英文姓名、职位、英文职位、部门、英文部门、公司、英文公司、地址、英文地址、邮编、邮箱、网址、手机、电话、传真、QQ、MSN、微信、微博、公司账号、logo、其他。)
bcocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
item:'' //字符串类型;字段名称
itemcoord:[{ //数组类型;字段在图像中的像素坐标
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}],
words:[{ //数组类型;车字段识别出来的每个字的信息,包括具体的字character,以及字对应的置信度confidence
character:'', //字符串类型;识别出的单字字符
confidence:0, //数字类型;识别出的单字字符对应的置信度
}],
angle:0, //数字类型;请求图片旋转角度
session_id:'', //保留字段,目前不使用
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.bcocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
bizlicenseocr
营业执照识别,根据用户上传的营业执照图像,返回识别出的注册号、公司名称、地址字段信息
bizlicenseocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
session_id:
- 类型:字符串
- 描述:请求序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
session_id:'' //字符串类型;相应请求的session 标识符,可用于结果查询
items:[{ //数组类型;字段在图像中的像素坐标
item:0, //字符串类型;字段名称(取值为注册号、公司名称、地址)
itemstring:0, //字符串类型;字段结果
itemcoord:{
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}, //数字类型;字段宽度
itemconf:0, //数字类型;识别结果对应的置信度
}],
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.bizlicenseocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
creditcardocr
银行卡识别,根据用户上传的银行卡图像,返回识别出的银行卡字段信息。
creditcardocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
session_id:
- 类型:字符串
- 描述:请求序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
session_id:'' //字符串类型;相应请求的session 标识符,可用于结果查询
items:[{ //数组类型;字段在图像中的像素坐标
item:'', //字符串类型;字段名称
itemstring:'', //字符串类型;字段结果
itemcoord:{
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}, //数字类型;字段宽度
itemconf:0, //数字类型;识别结果对应的置信度
}],
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.creditcardocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
plateocr
车牌识别,根据用户上传的图像,返回识别出的图片中的车牌号。
plateocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
session_id:
- 类型:字符串
- 描述:请求序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
session_id:'' //字符串类型;相应请求的session 标识符,可用于结果查询
items:[{ //数组类型;字段在图像中的像素坐标
item:'', //字符串类型;字段名称
itemstring:'', //字符串类型;字段结果
itemcoord:{
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}, //数字类型;字段宽度
itemconf:0, //数字类型;识别结果对应的置信度
}],
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.plateocr({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
driverlicenseocr
根据用户上传的图像,返回识别出行驶证&驾驶证各字段信息。(行驶证支持字段:车牌号码、车辆类型、所有人、住址、使用性质、品牌型号、识别代码、发动机号、注册日期、发证日期;驾驶证支持字段:证号、姓名、性别、国籍、住址、出生日期、领证日期、准驾车型、起始日期、有效日期。)。
driverlicenseocr({params},callback(ret, err))
params
imageUrl:
- 类型:字符串
- 描述:图片的url,支持fs,widget
type:
- 类型:数字
- 描述:识别类型,0表示行驶证识别,1表示驾驶证识别
session_id:
- 类型:字符串
- 描述:(可选项)请求序列号
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
session_id:'' //字符串类型;相应请求的session 标识符,可用于结果查询
items:[{ //数组类型;字段在图像中的像素坐标
item:'', //字符串类型;字段名称
itemstring:'', //字符串类型;字段结果
itemcoord:{
x:0, //数字类型;字段位置左上角横坐标
y:0, //数字类型;字段位置左上角纵坐标
width:0, //数字类型;字段宽度
height:0, //数字类型;字段高度
}, //数字类型;字段宽度
itemconf:0, //数字类型;识别结果对应的置信度
}],
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.driverlicenseocr({
imageUrl:'',
type:0
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
textToAudio
根据用户输入的文字,进行音频合成,播放语音。
textToAudio({params},callback(ret, err))
params
text:
- 类型:字符串
- 描述:待转换的文本,utf8格式(最大300字节)
model_type:
- 类型:数字
- 描述:(可选项)模型类型,0表示女声,1表示女声纯英文,2表示男声,6表示喜道公子
- 默认:0
speed:
- 类型:数字
- 描述:语速,-2, -1, 0, 1, 2分别表示0.6倍速,0.8倍速,正常速度,1.2倍速,1.5倍速
- 默认:0
session_id:
- 类型:字符串
- 描述:(可选项)请求唯一标识
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
session_id:'', //字符串类型;请求唯一标识
voice:'', //Base64编码后的mp3数据
voice_shahe:'', //mp3沙河路径
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
{
code: 1, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var youtu = api.require('youtu');
youtu.textToAudio({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
pitu0penAccessForYoutu
给定一张包含人脸的图像, 给定需要融合的模板, 这个功能原图进行人脸融合特效处理,可以实现军装照同样的功能
pitu0penAccessForYoutu({params},callback(ret, err))
params
rspimgtype:
- 类型:字符串
- 描述:(可选项)”url”:融合结果以url 方式返回, 业务可以直接通过url访问图片 “base64”: 融合结果图像直接以沙河路径方式返回
- 默认:’url’
imageUrl:
- 类型:字符串
- 描述:图片的url,(要求本地路径,如:widget://、fs://)
opdata:
- 类型:json数组
- 描述:预定义参数类型,数组元素个数为1
- 内部字段:
{
"opdata": [{ //注意opdata是一个数组
"cmd": "doFaceMerge",
"params": {
"model_id": "snow" // 通用模板id,更多模版信息请参考腾讯优图开发者中心文档
}
}]
}
session_id:
- 类型:字符串
- 描述:(可选项)请求唯一标识
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:识别结果
- 内部字段:
{
status: true //布尔类型;是否识别成功,true|false
data:{
img_url:'', //字符串类型;融合结果的url, 当rspimgtype填url时返回
mg_shahe:'', //字符串类型;融合结果的沙河路径,当rspimgtype填base64时返回
mg_ base64:'' //字符串类型;融合结果的base64,当rsp_img_type填base64l时返回
},
}
err:
- 类型:JSON 对象
- 描述:结果结果
- 内部字段:
示例代码
var youtu = api.require('youtu');
youtu.pitu0penAccessForYoutu({
imageUrl:'',
},function(ret, err) {
if (ret.status) {
api.alert({ msg:JSON.stringify(ret.data)});
} else {
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本