通用型OCR
更新時間 2025-09-18 17:47:21
最近更新時間: 2025-09-18 17:47:21
分享文章
接口描述
針對圖片中的文字,進行OCR檢測,返回檢測到的文字內容及坐標信息。
請求方法
POST
接口要求
- 圖片格式限制:圖片格式支持 png、jpg、jpeg、bmp格式
- 圖片大小限制:單張圖片大小不超過 10MB, 批量請求建議單次不超過5張,接口請求體不能超過100MB
- 圖片尺寸限制:圖片像素尺寸應大于 32x32 ,小于 5000x5000
URI
/v1/aiop/api/2f3p1pnxpqm8/ocrdetect/ocr/v1/image.json
請求參數
1.請求頭header參數(詳細說明可參考API參考>如何調用API章節)
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Content-Type | 是 | String | json格式 | application/json | |
| appkey | 是 | String | 平臺應用appkey | 562b89493b1a40e1b97ea05e50dd8170 | |
| ctyun-eop-request-id | 是 | String | 用戶請求 id,由用戶構造,用戶可以通過 uuid 等方法自行生成唯一字符串,用于日志請求追蹤。 詳見文檔:Python3調用示例 |
33dfa732-b27b-464f-b15a-21ed6845afd5 | |
| eop-date | 是 | String | 請求時間,由用戶構造,形如 yyyymmddTHHMMSSZ。 詳見文檔:Python3調用示例 |
20211221T163014Z | |
| host | 是 | String | 終端節點域名,固定字段 | ai-global.ctapi.daliqc.cn | |
| Eop-Authorization | 是 | String | 由天翼云官網 accessKey 和 securityKey 經簽名后生成,參與簽名生成的字段包括天翼云官網 accessKey 、securityKey、平臺應用的appkey(非必須),用戶請求 id(非必須),請求時間,終端節點域名(非必須)以及請求體內容。 簽名邏輯詳見文檔:認證鑒權和Python3調用示例 |
2.請求體body參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| data | 是 | List | 一張或多張圖像Base64編碼數據構成的list。注意:圖片需要使用常規base64編碼方式 | _9j_4AAQSkZJRg... |
請求代碼示例
Curl -X POST "//ai-global.ctapi.daliqc.cn/v1/aiop/api/2f3p1pnxpqm8/ocrdetect/ocr/v1/image.json"
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.daliqc.cn"
--data '{"data":["AAAAAAAAA...."]}'
返回值說明
1.請求成功返回響應參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| statusCode | 是 | Int | 請求響應狀態碼 | 0 | |
| message | 是 | Object | 請求信息結構體,message["success"]代表請求list中的成功數量。若請求中有不合法請求,會直接返回報錯信息。 | success | |
| returnObj | 是 | Object | 識別的結果,按照列表形式排列,每個元素為圖片對應的鑒定結果鍵值對,元素排序按照傳入順序排列,元素中包括識別到的文本行數目,位置以及文本行內容 | returnObj |
表message
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| success | 否 | Int | 成功標識 | 1 | |
| fail | 否 | Int | 錯誤標識 | 0 |
表returnObj
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| text_line | 否 | Int | 圖片識別到的文字行數 | - | |
| detail | 否 | Object | 按照列表形式排列,每個元素為圖片中每一個識別到的文本行的具體信息,包含位置以及文本行內容 | - | detail |
表detail
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| name | 否 | String | 序號 | - | |
| text | 否 | String | 識別到的文字 | - | |
| box | 否 | List | 文字所在的坐標為8個浮點數構成的數組,8個浮點數依次分別表示左上、右上、右下、左下四個點的x坐標,y坐標 | - |
2.請求失敗返回響應參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| statusCode | 是 | Int | 請求響應狀態碼,請求失敗時狀態碼非0 | 400012 | |
| message | 是 | String/Object | 返回對應的可讀消息 | 文件格式不合法 | message |
| details | 是 | String | 返回對應的錯誤信息 | 僅支持jpeg/png/jpg/bmp格式 | |
| error | 是 | String | 錯誤碼 | AI_OP_400012 |
返回值示例
1.請求成功返回值示例
{
'statusCode': 0,
'message': {'success' : 1, 'fail' : 0},
'returnObj': [
{
'text_line': 2,
'detail': [
{
'name': '0',
'text': '社會主義核心價值觀',
'box': [
43.3963039677,
157.3534469991,
610.5843128949,
169.5419591656,
609.1529514034,
236.1498488994,
41.9649424762,
223.9613367328
]
},
{
'name': '1',
'text': '富強、民主、文明、和諧',
'box': [
84.6885821036,
244.0079416001,
573.8530589198,
248.174096093,
573.4117596933,
299.9887625014,
84.2472828771,
295.8226080086
]
}
]
}
]
}
2.請求失敗返回值示例
{
"statusCode": 400012,
"message": "文件格式不合法",
"details": "僅支持jpeg/png/jpg/bmp格式",
"error":"AI_OP_400012"
}
請求體大小超出限制時返回報錯如下
<head><title>413 Request Entity Too Large</title></head>
<body>
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>nginx</center>
</body>
</html>
狀態碼
| http狀態碼 | 描述 |
|---|---|
| 200 | 表示請求成功 |
錯誤碼說明
6位錯誤碼。4 開頭為業務錯誤碼,5 開頭為服務錯誤碼。全局請求返回錯誤碼請參考章節API概覽?>狀態碼
| 錯誤碼 | 錯誤信息 | 錯誤描述 |
|---|---|---|
| AI_OP_400005 | 請求體類型錯誤 | 請求體需為字典,不能為其他類型 |
| AI_OP_400006 | 必傳的參數未傳 | 必須的參數(data)未傳 |
| AI_OP_400008 | 請求體的參數字段類型錯誤 | data 字段應該是 list 類型 |
| AI_OP_400009 | 請求體的參數字段值為空 | data 列表為空 |
| AI_OP_400011 | base64 數據處理異常 | data 字段的 base64 字符串轉換字節碼異常 |
| AI_OP_400012 | 文件格式不合法 | 僅支持 jpeg/png/jpg/bmp 格式 |
| AI_OP_400013 | 文件大小不符合要求 | 該文件大小不符合要求,圖片要求小于 10M |
| AI_OP_400018 | 超過個數限制 | data 超過個數限制,最多傳 50 張圖片 |
| AI_OP_410001 | 圖片解碼錯誤 | 字節碼解碼為圖片錯誤 |
| AI_OP_410002 | 圖片尺寸不符合要求 | 分辨率長寬尺寸應不高于 5000 不低于 32 |
| AI_OP_500001 | OCR服務接口異常,請聯系管理員 | 需要聯系管理員處理 |
base64 編碼規則:使用常規的 safe base64 編碼方式
- python 中推薦使用
base64.urlsafe_b64encode()函數進行編碼。 - java 中推薦使用
BASE64.getUrlEncoder().encodeToString()函數進行編碼