手写文字识别
一、接口描述
1. 功能描述
通过领先的深度学习技术,对各种表格,图片,文档、证件、面单等多种通用场景中的手写文件进行快速、精准的检测和识别,并适用于倾斜、折叠、旋转等场景
2. 接口数据要求:
图片类型: jpg/jpeg/png/bmp
3. 接口使用:
我们为每个API提供试用体验服务,您在AI市场选择“免费试用5次”规格下单后,即可开始体验业内领先的人工智能API服务。 如需更多的服务数量,您可以按需购买,我们有多种优惠方案供您选择。
在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程
用户需要使用其他图片的base64编码请求成功时也会加入计费。
二、请求说明
1. 接口地址 :
https://aiapi.jd.com/INTSIG/Universal_recognition
请求方式:
POST
三、返回字段描述
(1)公共返回参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | string | 1000 | 参见下方错误码-系统级错误码 |
charge | boolean | false 或 true | false:不扣费, true:扣费 |
remainTimes | long | 1305 | 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1 |
remainSeconds | long | 1223456 | 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1 |
msg | string | 查询成功 | 参见下方错误码-系统级错误码 |
result | object | {...} | 查询结果 |
(2)业务返回参数
字段 | 说明 |
---|---|
code | 返回状态码。200:正常返回; 500:服务器内部错误 |
message | 返回对应code的状态说明 |
cost_time | 识别耗时 |
result | 图片结果信息 |
+rotated_image_width | 旋转后图片宽度 |
+rotated_image_height | 旋转后图片高度 |
+image_angle | 图片旋转角度(原图经过顺时针旋转该角度后获得正确方向图片,以下坐标皆为转正后的坐标) |
+whole_text | 全文识别的所有内容,同行内容整合为一行输出 |
+lines | 文本块识别信息集合 |
++property | 属性 |
++text | 文本块内容 |
++position | 文本块坐标(左上角起,顺时针一周四角坐标形成的集合) |
++char_centers | 字符中心坐标(每个字符中心坐标形成的集合) |
++char_polygons | 字符块坐标(每个字符左上角起,顺时针一周四角坐标形成的集合) |
++char_candidates | 候选字集合,不包含首选字 |
++char_candidates_score | 候选字置信度 |
正常返回示例(业务参数)
{
"code":200,
"message":"success",
"result":{
"rotated_image_width":816,
"rotated_image_height":612,
"image_angle":0,
"whole_text":"(回中是、种很可州的东西它生活在过长",
"lines":[
{
"text":"(回中是、种很可州的东西",
"char_centers":[
[
28,
120
],
[
55,
120
],
[
127,
119
],
[
225,
119
],
[
295,
118
],
[
353,
118
],
[
436,
117
],
[
510,
116
],
[
571,
116
],
[
642,
115
],
[
695,
115
],
[
755,
115
]
],
"char_polygons":[
[
17,
105,
42,
105,
42,
149,
17,
149
],
[
42,
104,
92,
103,
92,
149,
42,
149
],
[
107,
100,
190,
100,
190,
148,
107,
149
],
[
195,
89,
269,
89,
269,
146,
195,
146
],
[
284,
118,
306,
118,
307,
129,
284,
129
],
[
314,
94,
393,
93,
394,
145,
315,
145
],
[
410,
88,
470,
87,
470,
146,
411,
147
],
[
476,
87,
531,
87,
532,
146,
476,
146
],
[
539,
92,
612,
91,
612,
145,
540,
146
],
[
622,
99,
666,
99,
667,
138,
622,
138
],
[
668,
86,
728,
85,
729,
144,
669,
145
],
[
735,
95,
794,
95,
794,
142,
735,
142
]
],
"char_candidates":[
[
"(",
"1",
"[",
"【"
],
[
"回",
"因",
"国",
"闵",
"园"
],
[
"中",
"十",
"小",
"甲",
"口"
],
[
"是",
"五",
"员",
"为",
"违"
],
[
"、",
"一",
",",
"~"
],
[
"种",
"神"
],
[
"很",
"银",
"限",
"促",
"狠"
],
[
"可",
"司",
"宜",
"句",
"合"
],
[
"州",
"删",
"动",
"珊",
"册"
],
[
"的",
"纳",
"内",
"幽",
"白"
],
[
"东",
"乐",
"练",
"冻",
"车"
],
[
"西",
"面",
"両",
"雨",
"田"
]
],
"char_candidates_score":[
[
0.9031926989555359,
0.016652418300509453,
0.0006845059688203037,
0.000256009167060256
],
[
0.24847522377967834,
0.1763637661933899,
0.164912611246109,
0.15431354939937592,
0.05232424661517143
],
[
0.9712045192718506,
0.0135450204834342,
0.0051076291128993034,
0.004304863046854734,
0.002276728395372629
],
[
0.4732123613357544,
0.10246250033378601,
0.09748233109712601,
0.06820014119148254,
0.02553098276257515
],
[
0.9800481200218201,
0.007330916356295347,
0.005971337202936411,
0.002084488747641444
],
[
0.9998168349266052,
0.00017045515414793044
],
[
0.997351884841919,
0.0022332272492349148,
0.0002155946713173762,
0.00007192903285613284,
0.000040236896893475205
],
[
0.28559228777885437,
0.22977153956890106,
0.13733454048633575,
0.11740183085203171,
0.07836461067199707
],
[
0.29119303822517395,
0.21588796377182007,
0.09798216819763184,
0.03538699075579643,
0.03358053043484688
],
[
0.9946433305740356,
0.0014911491889506578,
0.0012862147996202111,
0.000767557299695909,
0.0007544289110228419
],
[
0.9415866732597351,
0.03991537541151047,
0.013394161127507687,
0.0031007707584649324,
0.0004932671436108649
],
[
0.6794145703315735,
0.25808286666870117,
0.06034104898571968,
0.0008058131206780672,
0.00045148940989747643
]
],
"position":[
16,
94,
799,
89,
799,
141,
16,
146
]
}
]
}
}
失败返回示例
"code": 40101,
"message": "App does not exist"
}
四、接入参考代码
说明
本文档提供了HTTP 的接入示例代码,所有代码仅供参考,请酌情使用。
HTTP Request 示例
https://aiapi.jd.com/INTSIG/invoice
请求方式:post
Request Body: (图像的二进制数据)
五、错误码信息
1.系统级错误码
2.业务错误码
code | message | 含义 |
---|---|---|
200 | Success | 请求成功 |
500 | Server error | 服务器内部错误 |
40001 | Access server error | 验证服务器错误,请再次请求, 如果持续出现此类错误,请联系技术支持团队 |
40002 | Service temporarily unavailable | 服务暂不可用,请再次请求, 如果持续出现此类错误,请联系技术支持团队 |
40003 | Unsupported openapi method | 调用的API不存在,请检查后重新尝试 |
40004 | Open api request limit reached | 集群超限额 |
40017 | Open api daily request limit reached | 每天请求量超限额 |
40018 | Open api qps request limit reached QPS | 超限额 |
40019 | Open api total request limit reached | 请求总量超限额 |
40020 | Open api daily testing limit reached. | 今日测试次数已达上限 |
40100 | Empty App key or app secret | app_key 或 app_secret 为空 |
40101 | App does not exist | 实例不存在,请检查 app_key |
40102 | Invalid app secret | 实例验证失败,请检查 app_secret |
40103 | Invalid App | 实例已失效 |
40104 | App has expired | 实例已超过有效期 |
40105 | Invalid IP source | 无效的IP来源 |
40106 | App does not match service | 实例与service不匹配 |
40107 | App has been overdrawn by 5% of the total count. Please use it after recharging. | 实例额度已透支总额度的5%,请充值后使用 |
40110 | App key or app secret invalid | app_key 或 app_secret无效 |
40200 | Internal error | 服务器内部错误 |
40201 | Not enough param | 缺少必须的参数,请检查参数是否有遗漏 |
40202 | Service not support | 请求了不支持的服务,请检查调用的url |
40300 | Empty image | 图片为空,请检查后重新尝试 |
40301 | Image format error | 上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片 |
40302 | Image size error | 上传的图片大小错误 |
40303 | File type unsupport | 文件类型不支持 |
40400 | Recognize error | 识别错误,请再次请求 |
40401 | Image recognize error | 图像识别错误 |
40500 | Classify failed | 未能成功分类 |
40600 | Missing request body | 缺少 request body |
50001 | Time out | 超时 |
90099 | Unknown error | 未知错误 |