SDK隐私政策
智云接入手写轨迹识别(公式识别)ocr 功能
Hi,您好,欢迎使用有道智云手写轨迹识别(公式识别) API 接口服务。
本文档主要针对需要集成 HTTP API 的技术开发工程师
,详细描述 OCR 识别能力相关的技术内容。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服 QQ:1906538062
智云 OCR 技术交流 QQ 1 群: 654064748
智云 OCR 技术交流 QQ 2 群: 471638046
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
应用ID
和应用密钥
;如果您还没有,请按照 新手指南 获取。请求方式:POST
字段名 | 含义 | 备注 | 必填 |
---|---|---|---|
appKey | 应用标识(应用 ID) | true | |
curtime | 时间戳(秒) | true | |
q | 点阵数据,json 字符串,格式见下表 | true | |
salt | 随机字符串 | uuid | true |
sign | 签名信息:sha256(appKey+input+salt+curtime+密钥) | true | |
signType | 签名类型 | v3 | true |
q 字段说明:
json 字符串,存储的是笔迹的数据信息,对数据格式严格要求,具体要求如下:
1、一个 json 字符串中保存一个用户在同一行书写的笔迹信息和;
2、key = "strokes",value 为点集合,其中结构为 "行 -> 笔画 -> 点" 的结构,其中点的坐标应为原始 int 型坐标值;
3、key="answer",value 为答案的字符序列,是一个 list,其中每一个字符是一个字符串,对应字表中的一个 token;
4、一个具体的字符串如下:(示例中的 x/y/p/t 分别表示 x 轴坐标、y 轴坐标、压感、时间戳)
例:
"strokes": [
[
{
"x": 743,
"y": 322,
"p": 0,
"t": 1876606482.1424582
},
{
"x": 768,
"y": 312,
"p": 0,
"t": 1876606515.276458
},
{
"x": 776,
"y": 312,
"p": 0,
"t": 1876606523.4481664
},
{
"x": 794,
"y": 312,
"p": 0,
"t": 1876606540.7051249
},
{
"x": 815,
"y": 312,
"p": 0,
"t": 1876606556.8045416
},
{
"x": 838,
"y": 312,
"p": 0,
"t": 1876606573.5902498
},
{
"x": 850,
"y": 313,
"p": 0,
"t": 1876606582.1182082
},
{
"x": 861,
"y": 314,
"p": 0,
"t": 1876606590.346
}
],
[
{
"x": 821,
"y": 329,
"p": 0,
"t": 1876606790.1306248
},
{
"x": 820,
"y": 344,
"p": 0,
"t": 1876606848.4819582
},
{
"x": 820,
"y": 352,
"p": 0,
"t": 1876606857.0317914
},
{
"x": 820,
"y": 370,
"p": 0,
"t": 1876606873.4598749
},
{
"x": 820,
"y": 399,
"p": 0,
"t": 1876606890.324708
},
{
"x": 820,
"y": 434,
"p": 0,
"t": 1876606907.1413748
},
{
"x": 820,
"y": 462,
"p": 0,
"t": 1876606923.5980415
},
{
"x": 820,
"y": 475,
"p": 0,
"t": 1876606932.0124998
},
{
"x": 815,
"y": 491,
"p": 0,
"t": 1876606940.3207498
}
],
[
{
"x": 931,
"y": 268,
"p": 0,
"t": 1876607181.9338748
},
{
"x": 927,
"y": 292,
"p": 0,
"t": 1876607240.3572915
},
{
"x": 925,
"y": 315,
"p": 0,
"t": 1876607256.8917916
},
{
"x": 923,
"y": 339,
"p": 0,
"t": 1876607273.5481665
},
{
"x": 920,
"y": 343,
"p": 0,
"t": 1876607281.9044163
}
]
],
"answer": [
{
"token": "T"
},
{
"token": "'"
}
]
input 说明:
input=img 字符串的前 10 个字符 + img 字符串长度 + img 字符串后十个字符(当 q 长度大于 20)或 img 字符串(当 q 长度小于等于 20).
具体示例如下:
a.比如:img="Welcome to youdao AICloud.",字符串长度为 26,大于 20,其 input="Welcome to"(前 10 个字符) + 26(字符串长度) + "o AICloud."(q 字符串后 10 个字符)。
b.比如:img = "sdT4bWrjS",字符串长度为 9,小于 20,input = "sdT4bWrjS".
错误码 | 含义 |
---|---|
101 | 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。 |
102 | 不支持的语言类型 |
103 | 翻译文本过长 |
104 | 不支持的 API 类型 |
105 | 不支持的签名类型 |
106 | 不支持的响应类型 |
107 | 不支持的传输加密类型 |
108 | 应用 ID 无效,注册账号,登录后台创建应用并完成绑定,可获得应用 ID 和应用密钥等信息 |
109 | batchLog 格式不正确 |
110 | 无相关服务的有效应用,服务没有绑定可以新建服务绑定。注:某些服务的结果发音需要 tts 服务,需要在控制台创建语音合成应用后方能使用。 |
111 | 开发者账号无效 |
112 | 请求服务无效 |
113 | q 不能为空 |
114 | 不支持的图片传输方式 |
201 | 解密失败,可能为 DES,BASE64,URLDecode 的错误 |
202 | 签名检验失败,如果确认应用 ID 和应用密钥的正确性,仍返回 202,一般是编码问题。请确保 img 为 UTF-8 编码. |
203 | 访问 IP 地址不在可访问 IP 列表 |
205 | 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南 |
206 | 因为时间戳无效导致签名校验失败 |
207 | 重放请求 |
301 | 辞典查询失败 |
302 | 翻译查询失败 |
303 | 服务端的其它异常 |
304 | 会话闲置太久超时 |
401 | 账户已经欠费停 |
402 | offlinesdk 不可用 |
411 | 访问频率受限,请稍后访问 |
412 | 长请求过于频繁,请稍后访问 |
1001 | 无效的 OCR 类型 |
1002 | 不支持的 OCR image 类型 |
1003 | 不支持的 OCR Language 类型 |
1004 | 识别图片过大 |
1201 | 图片 base64 解密失败 |
1301 | OCR 段落识别失败 |
1411 | 访问频率受限 |
1412 | 超过最大识别字节数 |
2003 | 不支持的语言识别 Language 类型 |
2004 | 合成字符过长 |
2005 | 不支持的音频文件类型 |
2006 | 不支持的发音类型 |
2201 | 解密失败 |
2301 | 服务的异常 |
2411 | 访问频率受限,请稍后访问 |
2412 | 超过最大请求字符数 |
3001 | 不支持的语音格式 |
3002 | 不支持的语音采样率 |
3003 | 不支持的语音声道 |
3004 | 不支持的语音上传类型 |
3005 | 不支持的语言类型 |
3006 | 不支持的识别类型 |
3007 | 识别音频文件过大 |
3008 | 识别音频时长过长 |
3009 | 不支持的音频文件类型 |
3010 | 不支持的发音类型 |
3201 | 解密失败 |
3301 | 语音识别失败 |
3302 | 语音翻译失败 |
3303 | 服务的异常 |
3411 | 访问频率受限,请稍后访问 |
3412 | 超过最大请求字符数 |
4001 | 不支持的语音识别格式 |
4002 | 不支持的语音识别采样率 |
4003 | 不支持的语音识别声道 |
4004 | 不支持的语音上传类型 |
4005 | 不支持的语言类型 |
4006 | 识别音频文件过大 |
4007 | 识别音频时长过长 |
4201 | 解密失败 |
4301 | 语音识别失败 |
4303 | 服务的异常 |
4411 | 访问频率受限,请稍后访问 |
4412 | 超过最大请求时长 |
5001 | 无效的 OCR 类型 |
5002 | 不支持的 OCR image 类型 |
5003 | 不支持的语言类型 |
5004 | 识别图片过大 |
5005 | 不支持的图片类型 |
5006 | 文件为空 |
5201 | 解密错误,图片 base64 解密失败 |
5301 | OCR 段落识别失败 |
5411 | 访问频率受限 |
5412 | 超过最大识别流量 |
9001 | 不支持的语音格式 |
9002 | 不支持的语音采样率 |
9003 | 不支持的语音声道 |
9004 | 不支持的语音上传类型 |
9005 | 不支持的语音识别 Language 类型 |
9301 | ASR 识别失败 |
9303 | 服务器内部错误 |
9411 | 访问频率受限(超过最大调用次数) |
9412 | 超过最大处理语音长度 |
10001 | 无效的 OCR 类型 |
10002 | 不支持的 OCR image 类型 |
10004 | 识别图片过大 |
10201 | 图片 base64 解密失败 |
10301 | OCR 段落识别失败 |
10411 | 访问频率受限 |
10412 | 超过最大识别流量 |
11001 | 不支持的语音识别格式 |
11002 | 不支持的语音识别采样率 |
11003 | 不支持的语音识别声道 |
11004 | 不支持的语音上传类型 |
11005 | 不支持的语言类型 |
11006 | 识别音频文件过大 |
11007 | 识别音频时长过长,最大支持 30s |
11201 | 解密失败 |
11301 | 语音识别失败 |
11303 | 服务的异常 |
11411 | 访问频率受限,请稍后访问 |
11412 | 超过最大请求时长 |
12001 | 图片尺寸过大 |
12002 | 图片 base64 解密失败 |
12003 | 引擎服务器返回错误 |
12004 | 图片为空 |
12005 | 不支持的识别图片类型 |
12006 | 图片无匹配结果 |
13001 | 不支持的角度类型 |
13002 | 不支持的文件类型 |
13003 | 表格识别图片过大 |
13004 | 文件为空 |
13301 | 表格识别失败 |
14002 | 手写轨迹识别失败 |
15001 | 需要图片 |
15002 | 图片过大(1M) |
15003 | 服务调用失败 |
17001 | 需要图片 |
17002 | 图片过大(1M) |
17003 | 识别类型未找到 |
17004 | 不支持的识别类型 |
17005 | 服务调用失败 |
参数名称 | 描述 |
---|---|
requestId | 请求 Id |
errorCode | 错误码 |
Result | 结果 |
+lines | 包含识别到的所有文本行,是一个 list(当前场景只有一行文字,因此 list 长度为 1) |
++text | 识别结果,token 之间用空格隔开 |
++bbox | 文本行的位置,两个顶点(左上、右下)的 x/y 坐标,由逗号隔开 |
++words | 文本行中的所有字符,是一个 list |
+++word | 字符内容,是一个 token |
+++boundingBox | 字符的位置,两个顶点(左上、右下)的 x/y 坐标,由逗号隔开 |
例:
{
"requestId": "ba8c731a-932c-46a1-bf4d-58ca0c3e3013",
"errorCode": "0",
"Result": {
"lines": [
{
"bbox": "53,0,959986210,2066513201,975337506,959722033,53,0",
"words": [],
"text": "8 . ="
}
]
}
}