RecognizeAdvanced - 全文识别高精版

支持多格式版面、复杂文档背景和光照环境的精准识别。

接口说明

本接口适用场景

  • 阿里云全文识别高精版,是阿里云官方自研 OCR 文字识别产品,智能识别图片所包含的全部字段,集表格识别、旋转识别、生僻字识别等多功能为一体,提供高性价比的多场景文字识别体验。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
多功能集结集表格识别、旋转识别、生僻字识别等多功能为一体。
抗干扰支持多格式版面、复杂文档背景和光照环境的精准识别。
自动排异对有印章、手印的文档,可实现印章查处后识别。
高阶能力支持覆盖文字编辑、低置信度过滤、图案检测。

如何使用本接口

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

重要提示

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

调试

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

授权信息

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

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

请求参数

名称类型必填描述示例值
Urlstring
  • 本字段和 body 字段二选一,不可同时透传或同时为空。
  • 图片链接(长度不超 2048 字节,不支持 base64)。
https://example.png
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
OutputFigureboolean
  • 是否需要图案检测功能,默认不需要。
  • true:需要;false:不需要。
false
NoStampboolean
  • 是否需要去除印章功能,默认不需要。
  • true:需要;false:不需要。
false
Paragraphboolean
  • 是否需要分段功能,默认不需要。
  • true:需要;false:不需要。
false
Rowboolean
  • 是否需要成行返回功能,默认不需要。
  • true:需要;false:不需要。
false

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

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

返回数据

{ "content": "2017年河北区实验小学", "height": 3509, "orgHeight": 3509, "orgWidth": 2512, "prism_version": "1.0.9", "prism_wnum": 126, "prism_wordsInfo": [{ "angle": -89, "direction": 0, "height": 541, "pos": [{ "x": 982, "y": 223 }, { "x": 1522, "y": 223 }, { "x": 1522, "y": 266 }, { "x": 982, "y": 266 }], "prob": 99, "width": 43, "word": "2017年河北区实验小学", "x": 1230, "y": -26 }], "width": 2512 }
Codestring

状态码

200
Messagestring

详细信息

message

返回参数说明


字段类型说明
angleint图片的角度(当 NeedRotate=true 时,返回此字段)。0 表示正向,90 表示图片朝右,180 朝下,270 朝左。
contentstring识别出图片的文字块汇总。
figurelist图片中的图案信息(当 OutputFigure=true 时,返回此字段)。
prism_wordsInfolist文字块信息。
prism_tablesInfolist表格信息(当 OutputTable=true 时,返回此字段)。
prism_paragraphsInfolist段落信息(当 Paragraph=true 时,返回此字段)。
prism_rowsInfolist行信息(当 Row=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 字段)

字段类型说明
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段落文字。

行信息(prism_rowsInfo 字段。当 Row=true 时,返回此字段。)

字段类型说明
rowIdint行 id,和 prism_wordsInfo 信息中的 rowId 对应。
wordstring行文字。

图案位置信息(figure 字段。当 OutputFigure=true 时,返回此字段。)

字段类型说明
typestring图案类型。blicense_title 营业执照标题,national_emblem 中国国徽,barcode 条形码,qrcode 二维码,face 人脸,finger_print 指纹,signature 签名,round_stamp 圆形印章,oval_stamp 椭圆印章,rectangular_stamp 矩形印章,square_stamp 方形印章,rhombus_stamp 菱形印章
xint图案左上角横坐标。
yint图案左上角纵坐标。
wint图案宽度。
hint图案高度。
boxobject图案坐标信息:中心横纵坐标,长宽,顺时针旋转角度。定义同 OpenCV 中 RotatedRect,请参见 OpenCV 文档
pointslist图案四个点坐标(左上、右上、右下、左下)。

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": "{ \t\"content\": \"2017年河北区实验小学\", \t\"height\": 3509, \t\"orgHeight\": 3509, \t\"orgWidth\": 2512, \t\"prism_version\": \"1.0.9\", \t\"prism_wnum\": 126, \t\"prism_wordsInfo\": [{ \t\t\"angle\": -89, \t\t\"direction\": 0, \t\t\"height\": 541, \t\t\"pos\": [{ \t\t\t\"x\": 982, \t\t\t\"y\": 223 \t\t}, { \t\t\t\"x\": 1522, \t\t\t\"y\": 223 \t\t}, { \t\t\t\"x\": 1522, \t\t\t\"y\": 266 \t\t}, { \t\t\t\"x\": 982, \t\t\t\"y\": 266 \t\t}], \t\t\"prob\": 99, \t\t\"width\": 43, \t\t\"word\": \"2017年河北区实验小学\", \t\t\"x\": 1230, \t\t\"y\": -26 \t}], \t\"width\": 2512 }",
  "Code": "200",
  "Message": "message"
}

错误码

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

变更历史

变更时间变更内容概要操作
2022-11-15API 内部配置变更,不影响调用查看变更详情
2021-08-17OpenAPI 入参发生变更查看变更详情

SDK 调用 通过 SDK 调用此接口的示例请参考开发者中心