通用文字识别
功能介绍
识别图片上的文字信息,以json格式返回识别的文字和坐标。支持扫描文件、电子文档、书籍、票据和表单等多种场景的文字识别。该接口的使用限制请参见约束与限制,详细使用指导请参见OCR服务使用简介章节。

调试
您可以在API Explorer中调试该接口。
URI
POST https://{endpoint}/v2/{project_id}/ocr/general-text
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,响应消息头中X-Subject-Token的值即为Token。 |
Content-Type |
是 |
String |
发送的实体的MIME类型,参数值为“application/json”。 |
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
image |
否,该参数与url二选一 |
String |
图像数据,base64编码,要求base64编码后大小不超过10MB。图片最小边不小于15px,最长边不超过4096px。支持JPEG、JPG、PNG、BMP、TIFF格式。 |
url |
否,该参数与image二选一 |
String |
图片的url路径,目前支持:
说明:
|
detect_direction |
否 |
Boolean |
校正图片的倾斜角度开关,可选值如下所示。
支持任意角度的校正,未传入该参数时默认为“false”。 |
quick_mode |
否 |
Boolean |
快速模式开关,针对单行文字图片(要求图片只包含一行文字,且文字区域占比超过50%),打开时可以更快返回识别内容。可选值如下所示。
未传入该参数时默认为false,即关闭快速模式。 |
响应参数
根据识别的结果,可能有不同的HTTP响应状态码(status code),状态码和响应参数说明如下。
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
result |
GeneralTextResult object |
调用成功时表示调用结果。 调用失败时无此字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
direction |
Integer |
图片朝向。
|
words_block_count |
Integer |
识别文字块数目。 |
words_block_list |
Array of GeneralTextWordsBlockList objects |
识别文字块列表,输出顺序从左到右,先上后下。 |
参数 |
参数类型 |
描述 |
---|---|---|
words |
String |
文字块识别结果。 |
location |
Array of integers |
识别到的文字块的区域位置信息,列表形式,包含文字区域四个顶点的二维坐标(x,y);坐标原点为图片左上角,x轴沿水平方向,y轴沿竖直方向。 |
状态码: 400
参数 |
参数类型 |
说明 |
---|---|---|
error_code |
String |
调用失败时的错误码,具体请参见错误码。 当出现错误码“ModelArts.4204”时,请参考为什么调用API时提示“ModelArts.4204”?章节。 调用成功时无此字段。 |
error_msg |
String |
调用失败时的错误信息。 调用成功时无此字段。 |
请求示例

- 请求示例(方式一:使用图片的base64编码)
POST https://{endpoint}/v2/{project_id}/ocr/general-text Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "image":"/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA...", "detect_direction":false }
- 请求示例(方式二:使用图片URL)
POST https://{endpoint}/v2/{project_id}/ocr/general-text Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "url":"https://BucketName.obs.xxxx.com/ObjectName", "detect_direction":false }
- Python3语言请求代码示例(其他语言参照下列示例编写或使用OCR SDK)
# encoding:utf-8 import requests import base64 url = "https://{endpoint}/v2/{project_id}/ocr/general-text" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} imagepath = r'./data/general-text-demo.png' with open(imagepath, "rb") as bin_data: image_data = bin_data.read() image_base64 = base64.b64encode(image_data).decode("utf-8") # 使用图片的base64编码 payload = {"image": image_base64} # imageurl = 'https://BucketName.obs.xxxx.com/ObjectName' # 使用图片URL # payload = {'url': imageurl} # url与image参数二选一 response = requests.post(url, headers=headers, json=payload) print(response.text)
响应示例
状态码:200
成功响应示例
{ "result": { "direction": -1, "words_block_count": 1, "words_block_list": [ { "words":"文字区域识别文字块1", "location":[ [15,15], [30,15], [30,30], [15,30] ] } ] } }
状态码:400
{ "error_code": "AIS.0103", "error_msg": "The image size does not meet the requirements." }
错误码
错误码请参见错误码。
