RecognizeHandwriting - 通用手写体识别

支持中文手写体、英文手写体、数字手写体等各种复杂场景的手写文字识别。

接口说明

本接口适用场景

  • 阿里云通用手写体识别,是阿里云官方自研 OCR 文字识别产品,适用于获取手写体书面形式的文字场景,适用于各类手写笔记、板书等。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
多文字形式支持中文手写体、英文手写体、数字手写体。
图像增强默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。
多类型覆盖支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。
高精度识别总体识别准确率可达 98%。

如何使用本接口

步骤概述
1开通 通用文字识别 服务。开通服务前后,您可以通过体验馆免费体验本功能识别效果。
2购买通用手写体识别资源包。本 API 会赠送免费额度,可使用免费额度测试。
3可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。

重要提示

类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP。暂不支持 PDF 格式。
图片尺寸
  • 图片长宽需要大于 15 像素,小于 8192 像素。
  • 长宽比需要小于 50。
  • 如需达到较好识别效果,建议长宽均大于 500px。
  • 图片尺寸过小,会影响识别精度。图片内单字大小在 10-50px 内时,识别效果较好。
图片大小
  • 图片二进制文件不能超过 10MB。
  • 图片过大会影响接口响应速度,建议使用小于 1.5M 图片进行识别,且通过传图片 URL 的方式调用接口。
其他提示
  • 接口响应速度和图片中的文字数量有关,如果图片中文字数量越多,接口响应可能越慢。
  • 接口会自动处理反光、扭曲等干扰信息,但会影响精度。请尽量选择清晰度高、无反光、无扭曲的图片。
相关能力

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ocr:RecognizeHandwriting
  • 全部资源
    *

请求参数

名称类型必填描述示例值
Urlstring
  • 本字段和 body 字段二选一,不可同时透传或同时为空。
  • 图片链接(长度不超 2048 字节,不支持 base64)。
https://img.alicdn.com/tfs/TB1Wo7eXAvoK1RjSZFDXXXY3pXa-2512-3509.jpg
bodybyte
  • 本字段和 URL 字段二选一,不可同时透传或同时为空。
  • 图片二进制文件,最大 10MB。
  • 使用 HTTP 方式调用,把图片二进制文件放到 HTTP body 中上传即可。
  • 使用 SDK 的方式调用,把图片放到 SDK 的 body 中即可。
图片二进制文件
OutputCharInfoboolean
  • 是否输出单字识别结果,默认不需要。
  • true:需要;false:不需要。
false
NeedRotateboolean
  • 是否需要自动旋转功能,默认不需要。
  • true:需要;false:不需要。
false
OutputTableboolean
  • 是否输出表格识别结果,包含单元格信息,默认不需要。
  • true:需要;false:不需要。
false
NeedSortPageboolean
  • 是否按顺序输出文字块,默认为 false。
  • false 表示从左往右,从上到下的顺序;true 表示从上到下,从左往右的顺序。
false
Paragraphboolean
  • 是否需要分段功能,默认不需要。
  • true:需要;false:不需要。
false

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

43A29C77-405E-4CC0-BC55-EE694AD00655
Datastring

返回数据

{"content":"炼句 提问方式 1.请赏析诗歌某一联(句) 2.赏析某一联(句)的妙处 3.请赏析诗歌某、角度抒胸意、借景抒情、托物","height":1277,"orgHeight":1277,"orgWidth":1080,"prism_version":"1.0.9","prism_wnum":26,"prism_wordsInfo":[{"angle":-87,"direction":0,"height":83,"pos":[{"x":177,"y":56},{"x":260,"y":60},{"x":259,"y":88},{"x":176,"y":84}],"prob":96,"width":28,"word":"炼句","x":203,"y":30}],"width":1080}
Codestring

状态码

200
Messagestring

详细信息

message

返回参数说明


字段类型说明
angleint图片的角度(当 NeedRotate=true 时,返回此字段)。0 表示正向,90 表示图片朝右,180 朝下,270 朝左。
contentstring识别出图片的文字块汇总。
prism_wordsInfolist文字块信息。
prism_paragraphsInfolist段落信息(当 Paragraph=true 时,返回此字段)。
prism_tablesInfolist表格信息(当 OutputTable=true 时,返回此字段)。
prism_wnumint识别的文字块的数量,prism_wordsInfo 数组的大小。
heightint算法矫正图片后的高度。
widthint算法矫正图片后的宽度。
orgHeightint原图的高度。
orgWidthint原图的宽度。

文字块信息(prism_wordsInfo 字段。)

字段类型说明
angleint文字块的角度。
heightint文字块的高度(需考虑文字块的角度)
widthint文字块的宽度(需考虑文字块的角度)
poslist文字块的外矩形四个点的坐标按顺时针排列(左上、右上、右下、左下)。当 NeedRotate=true 时,如果最外层的 angle 不为 0,需要按照 angle 矫正图片后,坐标才准确。
wordstring文字块的文字内容。
tableIdint表格的 id(当 OutputTable=true 时,返回此字段)。
tableCellIdint表格中单元格的 id(当 OutputTable=true 时,返回此字段)。
charInfolist单字信息。

单字信息(charInfo 字段。当 OutputCharInfo=true 时,返回此字段。)

字段类型说明
wordstring单字文字。
probint置信度。
xint单字左上角横坐标。
yint单字左上角纵坐标。
wint单字宽度。
hint单字高度。

表格信息(prism_tablesInfo 字段。当 OutputTable=true 时,返回此字段。)

字段类型说明
tableIdint表格 id,和 prism_wordsInfo 信息中的 tableId 对应。
xCellSizeint表格中横坐标单元格的数量。
yCellSizeint表格中纵坐标单元格的数量。
cellInfoslist单元格信息。

单元格信息(cellInfos 字段。)

字段类型说明
tableCellIdint表格中单元格 id,和 prism_wordsInfo 信息中的 tableCellId 对应。
wordstring单元格中的文字。
xscintxStartCell 缩写,表示横轴方向该单元格起始在第几个单元格,第一个单元格值为 0。
xecintxEndCell 缩写,表示横轴方向该单元格结束在第几个单元格,第一个单元格值为 0,如果 xsc 和 xec 都为 0 说明该文字在横轴方向占据了一个单元格并且在第一个单元格内。
yscintyStartCell 缩写,表示纵轴方向该单元格起始在第几个单元格,第一个单元格值为 0。
yecintyEndCell 缩写,表示纵轴方向该单元格结束在第几个单元格,第一个单元格值为 0。
poslist单元格位置,按照单元格四个角的坐标顺时针排列,分别为左上 XY 坐标、右上 XY 坐标、右下 XY 坐标、左下 XY 坐标。

段落信息(prism_paragraphsInfo 字段。当 Paragraph=true 时,返回此字段。)

字段类型说明
paragraphIdint段落 id,和 prism_wordsInfo 信息中的 paragraphId 对应。
wordstring段落文字。

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": "{\"content\":\"炼句 提问方式 1.请赏析诗歌某一联(句) 2.赏析某一联(句)的妙处 3.请赏析诗歌某、角度抒胸意、借景抒情、托物\",\"height\":1277,\"orgHeight\":1277,\"orgWidth\":1080,\"prism_version\":\"1.0.9\",\"prism_wnum\":26,\"prism_wordsInfo\":[{\"angle\":-87,\"direction\":0,\"height\":83,\"pos\":[{\"x\":177,\"y\":56},{\"x\":260,\"y\":60},{\"x\":259,\"y\":88},{\"x\":176,\"y\":84}],\"prob\":96,\"width\":28,\"word\":\"炼句\",\"x\":203,\"y\":30}],\"width\":1080}",
  "Code": "200",
  "Message": "message"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-01-23OpenAPI 入参发生变更查看变更详情
2021-08-17OpenAPI 入参发生变更查看变更详情