# 通用手写体文字
版本 V1.0.0
# 1. 接口定义
# 1.1 接口
URL = http://ip:port/hex/ocrapi/handwritingocr
其中 ip 为部署机器的 ip 地址,port 为对应服务器的端口
# 1.2 描述
通用手写体OCR为用户提供图片内手写体文字的检测和识别服务,针对手写字体无规则、字迹潦草、模糊等特点进行识别能力的增强。可应用于银行、保险、金融等手写单据录入、教育行业笔记文档化等场景。
# 1.3 HTTP请求格式
# 1.3.1 请求参数
属性 | 参数名称 | 必选 | 类型 | 可选值 | 默认值 | 参数描述 |
固 定 列 | image | 和url二选一 | String | 无 | 无 | 图像base64编码后的字符串,图像需是JPG、PNG、BMP其中之一的格式 |
url | 和image二选一 | String | 无 | 无 | 图片url地址,url与image两者填一个即可,同时赋值时,则以url指定的图像作为输入 | |
session_id | 否 | String | 无 | 无 | 用户自定义的唯一会话id | |
可变 | preprocess | 否 | Bool | false\true | true | 预处理开关,功能是检测图片倾斜的角度,将原本倾斜的图片转正 |
rotate_180 | 否 | Bool | false\true | true | 旋转开关,主要是在图片检测和识别前,对颠倒的图片进行180度旋转, | |
detect_text | 否 | Bool | false\true | true | 文本检测开关,关闭后可直接单行识别 | |
side_detect_short | 否 | Int32 | (0,1000] | 1000 | 短边尺寸,检测前对图片进行缩放至最短边的最大尺寸 | |
side_detect_long | 否 | Int32 | (0,1500] | 1500 | 长边尺寸,检测前对图片进行缩放至最长边的最大尺寸 | |
box_layout | 否 | Bool | false\true | false | 排版开关,功能是将原文本内容的排版输出更加合理(按照文本原来的段落顺序和阅读顺序输出) | |
ret_image | 否 | String | 无 | "" | 默认为空,如果填入"preprocess"字段就会返回预处理后的图像数据(使用base64加密后的字符串) | |
ret_candword | 否 | Bool | false\true | false | 候选字开关,开启可返回识别时多个可能的候选字(每个候选字对应其置信度) | |
enable_location | 否 | Bool | false\true | false | 单字宽高位置开关,开启可返回单字位置信息(x、y、weight、height) | |
enable_coord_point | 否 | Bool | false\true | false | 单字四点坐标开关,开启可返回图片中单字的四点坐标 | |
recognize_maxtime | 否 | Int32 | 无 | -1 | 设置识别超时时间(单位:ms),默认:-1,即对超时时间不做限制 | |
enable_only_reg_hw | 否 | Bool | false\true | false | 只返回手写内容(需要同时设置language=zh_hw_only) |
# 1.3.2 请求示例
{
"image": 填写Base64编码后的图片数据,
"session_id": 填写对应的session_id,
"options":
{
"preprocess":true,
"rotate_180":true,
"side_detect_short":1000,
"side_detect_long":1500,
"ret_candword":true,
"enable_location": true,
"enable_coord_point": true
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1.3.3 返回参数
属性 | 参数 | 是否必然返回 | 类型 | 参数描述 |
固 定 列 | errorcode | 是 | Int32 | 错误码 |
errormsg | 是 | string | 错误码消息 | |
session_id | 否 | string | 相应请求的session标识符,可用于结果查询 | |
可 变 | angle | 是 | Float | 图片旋转角度(角度制),文本的水平方向为0°;顺时针为正,逆时针为负 |
coordpoint | 是 | Object | 文本行在原图中的四点坐标 | |
itemstring | 是 | string | 识别出的文本行字符串 | |
itemconf | 是 | Float | 文本行置信度 | |
parag | 是 | Object | 识别出来的文本行段落信息,包括段落编号parag_no,以及字体大小word_size | |
itemcoord | 是 | Object | 文本行在旋转纠正之后的图像中的像素坐标,表示为(左上角x, 左上角y,宽width,高height) | |
words | 是 | Array | 识别出来的单字信息包括单字(包括单字Character和单字置信度confidence) | |
coords | 否 | Array | 单字在旋转纠正之后的图像中的像素坐标,表示为(左上角x, 左上角y,宽width,高height) | |
candword | 否 | Array | 候选字符集(包含候选字Character以及置信度Confidence) | |
wordcoordpoint | 否 | Array | 单字在原图中的四点坐标 |
# 1.3.4 返回示例
{
"items": [{
"itemstring": "独坐敬亭山",
"wordcoordpoint": [{"x": [58,35,80,35,80,57,58,57]}],
"itemconf": 0.9963534474372864,
"coords": [{"y": 35,"x": 58,"height": 23,"width": 23}],
"itemcoord": {
"y": 37,
"x": 57,
"height": 19,
"width": 98
},
"words":
[{
"confidence": 0.9999226331710815,
"character": "独"
}],
"parag": {
"parag_no": 0,
"word_size": 16
},
"candword": [{
"words": [{
"confidence": 0.9999226331710815,
"character": "独"
}]
"coordpoint":
{
"x": [18,130,211,130,211,150,18,150]
}
}]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 1.3.5 接口错误码说明
错误码 | 错误码消息 | 错误码说明 |
-5208 | OCR_SERVER_INTERN_ERROR | 服务器内部错误,初始化失败 |
-1102 | SDK_IMAGE_DECODE_FAILED | 图片解码失败 |
-9004 | GLOCR_LANGUAGE_NOT_SUPPORT | 不支持的语言 |
-9021 | GLOCR_DETECT_BOX_EMPTY | 未检测到文本 |
-9022 | GLOCR_RECOG_TIMEOUT | 识别超时 |
-9003 | GLOCR_RECOG_FAILED | 识别失败 |