通用文字識別:將自然場景下圖片上的文字內(nèi)容,通過定位和檢測,智能識別為可編輯的文本信息。
Hi,您好,歡迎使用有道智云通用文字識別 API接口服務。
如果您想快速體驗服務,建議您前往 體驗中心 或者在體驗中心右下側(cè)找到小程序二維碼,掃描進行體驗。
本文檔主要針對需要集成HTTP API的技術(shù)開發(fā)工程師,詳細描述OCR識別能力相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務合作的需求,可以通過以下方式聯(lián)系我們:
商務郵箱: AIcloud_Business@corp.youdao.com
如果您對文檔內(nèi)容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云OCR技術(shù)交流QQ 1群: 654064748
智云OCR技術(shù)交流QQ 2群: 471638046
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
應用ID
和應用密鑰
;如果您還沒有,請按照 新手指南 獲取。有道智云OCR API接口提供有道的OCR文字識別服務,目前有道智云OCR支持八十種語言的文字識別。您只需要通過調(diào)用有道智云OCR API,傳入經(jīng)過Base64編碼的圖片,通過POST請求方式,就可以得到相應的文字識別結(jié)果。
有道智云OCR API HTTPS地址:
https://openapi.youdao.com/ocrapi
注:請求采用application/x-www-form-urlencoded,不用JSON。
調(diào)用方在集成通用文字識別 API時,請遵循以下規(guī)則。
規(guī)則 | 描述 |
---|---|
傳輸方式 | HTTPS |
請求方式 | POST |
字符編碼 | 統(tǒng)一使用UTF-8編碼 |
響應格式 | 統(tǒng)一采用application/x-www-form-urlencoded格式 |
調(diào)用API需要向接口發(fā)送以下字段來訪問服務。
字段名 | 類型 | 含義 | 必填 | 備注 |
---|---|---|---|---|
img | text | 要識別的圖片,需要Base64編碼 | True | 必須是Base64編碼 |
langType | text | 要識別的語言類型 | True | 目前支持八十余種語言的識別,具體參見支持的語種列表 |
detectType | text | 識別類型,按行識別 | true | 按行識別:10012 |
imageType | text | 圖片類型,目前只支持Base64 | True | 目前只支持Base64:1,imageType的值為1 |
appKey | text | 應用ID | True | 可在應用管理查看 |
salt | text | 隨機字符串,最好是UUID,和curtime一起防請求重放 | True | uuid,唯一通用識別碼 |
sign | text | 簽名,sha256(appKey+input+salt+curtime+密鑰) | True | appKey+img+salt+curtime+應用密鑰 |
docType | text | 服務器響應類型,目前只支持json | True | json |
signType | text | 簽名類型 | true | v3 |
curtime | text | 當前UTC時間戳(秒) | true | TimeStamp |
angle | text | 是否進行360角度識別 | false | 0:不識別,1:識別。默認不識別(0) |
column | text | 是否按多列識別 | false | onecolumn:按單列識別;columns:按多列識別。默認按單列識別 |
rotate | text | 是否需要獲得文字旋轉(zhuǎn)角度 | false | donot_rotate:不需要旋轉(zhuǎn),返回angle傾斜角度,可自行旋轉(zhuǎn);rotate:根據(jù)angle旋轉(zhuǎn),不返回angle傾斜角度。默認旋轉(zhuǎn) |
簽名生成方法如下:
signType=v3;
sign=sha256(應用ID
+input
+salt
+curtime
+應用密鑰
)。
其中,input的計算方式為:input
=img前10個字符
+ img長度
+ img后十個字符
(當img長度大于20)或 input
=img字符串
(當img長度小于等于20)。
不同語言獲取時間戳,請參看此鏈接
如果對簽名有疑問,可以參看文檔末尾各語言demo。
返回的結(jié)果是json格式,具體說明如下:
字段 | 類型 | 字段說明 |
---|---|---|
errorCode | text | 錯誤碼,一定存在 |
Result | text | 識別結(jié)果,查詢成功一定存在 |
+orientation | text | 圖片方向 |
+regions | jsonarray | 區(qū)域,查詢正確一定存在 |
++lang | text | 該行文本的語言 |
++dir | text | 方向;h:行;v:列,豎排識別 |
++lines | jsonarray | 行,查詢正確一定存在 |
+++words | jsonarray | 字,查詢正確一定存在 |
++++word | text | 識別的字的結(jié)果 |
+++text | text | 行識別結(jié)果 |
boundingBox | text | 段落、行、字的區(qū)域位置信息 |
即識別結(jié)果主要在Result中,輸出結(jié)構(gòu)為:regions->lines->words.一個文檔可能有多個region,代表段落,一個段落有多行,一行有多個字。
每個段落、每行、每個字都有boundingBox,代表能夠框住段落、行、字的最大box的位置信息。
boundingBox共八個值:分別是左上角坐標(x,y),右上角坐標(x,y),右下角坐標(x,y),左下角(x,y)。
具體可參見下面的參考示例。
識別的返回結(jié)果:
{
"errorCode": "0", //識別錯誤碼
"Result": { //識別結(jié)果
"orientation": "UP",//圖像方向
"regions": [ //段落
{
"boundingBox": "90,56,232,56,232,244,90,244", //段落區(qū)域位置信息
"dir": "h", //按行識別
"lang": "zh", //語種
"lines": [ //行
{
"boundingBox": "116,56,204,56,204,82,116,82", //行區(qū)域位置信息
"words": [ //字
{
"boundingBox": "124,54,148,54,148,86,124,86", //字區(qū)域位置信息
"word": "靜" //字識別結(jié)果
},
{
"boundingBox": "156,54,172,53,172,85,156,86",
"word": "夜"
},
{
"boundingBox": "180,53,204,53,204,85,180,85",
"word": "思"
}
],
"text": "靜夜思" //行識別結(jié)果
},
...
]
}
]
}
}
語言代碼 | 語言 |
---|---|
sq | 阿爾巴尼亞語 |
az | 阿塞拜疆語 |
eu | 巴斯克語 |
be | 白俄羅斯語 |
bs | 波斯尼亞文(拉丁文) |
bg | 保加利亞文 |
ca | 加泰羅尼亞文(加泰隆語) |
ceb | 宿務語 |
ny | 齊切瓦語 |
zh-CHS | 中文 |
zh-CHT | 中文(繁體) |
co | 科西嘉語 |
hr | 克羅地亞文 |
cs | 捷克文 |
da | 丹麥文 |
nl | 荷蘭文 |
en | 英文 |
eo | 世界語 |
et | 愛沙尼亞文 |
fi | 芬蘭文 |
fr | 法文 |
gd | 蘇格蘭蓋爾語 |
gl | 加利西亞語 |
de | 德文 |
ht | 海地文 |
ha | 豪薩語 |
haw | 夏威夷語 |
hi | 印地文 |
hu | 匈牙利文 |
is | 冰島語 |
ig | 伊博語 |
id | 印度尼西亞文 |
ga | 愛爾蘭語 |
it | 意大利文 |
ja | 日文 |
jw | 印尼爪哇語 |
ko | 韓文 |
ku | 庫爾德語 |
la | 拉丁語 |
lv | 拉脫維亞文 |
lt | 立陶宛文 |
lb | 盧森堡語 |
mk | 馬其頓語 |
mg | 馬爾加什語 |
ms | 馬來文 |
mt | 馬耳他文 |
mi | 毛利語 |
mr | 馬拉地語 |
mn | 蒙古語 |
ne | 尼泊爾語 |
no | 挪威文 |
pl | 波蘭文 |
pt | 葡萄牙文 |
ro | 羅馬尼亞文 |
ru | 俄文 |
sm | 薩摩亞語 |
sr-Latn | 塞爾維亞文(拉丁文) |
sn | 修納語 |
sk | 斯洛伐克文 |
sl | 斯洛文尼亞文 |
so | 索馬里語 |
st | 塞索托語 |
es | 西班牙文 |
su | 印尼巽他語 |
sw | 斯瓦希里文 |
sv | 瑞典文 |
tl | 菲律賓語 |
tg | 塔吉克語 |
tr | 土耳其文 |
uk | 烏克蘭文 |
uz | 烏茲別克語 |
vi | 越南文 |
cy | 威爾士文 |
fy | 弗里斯蘭語 |
yo | 約魯巴語 |
zu | 南非祖魯語 |
hmn | 苗族語 |
xh | 班圖 |
af | 南非荷蘭 |
ar | 阿拉伯文 |
bg | 保加利亞語 |
bn | 孟加拉語 |
bs | 波斯尼亞語 |
el | 希臘 |
gu | 古吉拉特 |
he | 希伯來 |
ht | 海地克里奧爾 |
ka | 格魯吉亞 |
km | 高棉 |
kn | 卡納達 |
ky | 柯爾克孜語(吉爾吉斯語) |
ml | 馬拉雅拉姆語 |
mww | 白苗語 |
my | 緬甸 |
otq | 克雷塔羅奧托米語 |
pa | 旁遮普語 |
prs | 達里語 |
ps | 普什圖語 |
rw | 盧旺達語 |
sr-Cyrl | 塞爾維亞語(西里爾文) |
te | 泰盧固語 |
th | 泰語 |
tk | 土庫曼語 |
to | 湯加語 |
ur | 烏爾都語 |
yi | 意第緒語 |
yua | 尤卡坦瑪雅語 |
auto | 自動識別 |
auto
支持所有語種的自動識別
支持圖片格式 | 每小時最大請求次數(shù) | 圖片大小 | 圖片分辨率 |
---|---|---|---|
jpg\png\bmp | 3600 | 圖像編碼后大小必須小于2M, 建議不要超過1M; (編碼后大于1M的圖像會被縮放,影響效果, 建議控制輸入圖像大?。?/td> | 圖片的長和寬要求最短邊大于10px, 最長邊小于2048 px。 |
錯誤碼 | 含義 |
---|---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應類型 |
107 | 不支持的傳輸加密類型 |
108 | 應用ID無效,注冊賬號,登錄后臺創(chuàng)建應用并完成綁定,可獲得應用ID和應用密鑰等信息 |
109 | batchLog格式不正確 |
110 | 無相關(guān)服務的有效應用,應用沒有綁定。注:某些服務的結(jié)果發(fā)音需要tts服務,需要在控制臺創(chuàng)建語音合成實例綁定應用后方能使用。 |
111 | 開發(fā)者賬號無效 |
112 | 請求服務無效 |
113 | q不能為空 |
114 | 不支持的圖片傳輸方式 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 | 簽名檢驗失敗,如果確認應用ID和應用密鑰的正確性,仍返回202,一般是編碼問題。請確保 img 為 UTF-8 編碼. |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請求的接口與應用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應用平臺類型一致。如有疑問請參考入門指南 |
206 | 因為時間戳無效導致簽名校驗失敗 |
207 | 重放請求 |
301 | 辭典查詢失敗 |
302 | 翻譯查詢失敗 |
303 | 服務端的其它異常 |
304 | 會話閑置太久超時 |
401 | 賬戶已經(jīng)欠費停 |
402 | offlinesdk不可用 |
411 | 訪問頻率受限,請稍后訪問 |
412 | 長請求過于頻繁,請稍后訪問 |
1001 | 無效的OCR類型 |
1002 | 不支持的OCR image類型 |
1003 | 不支持的OCR Language類型 |
1004 | 識別圖片過大,超過最大限制 |
1005 | angle參數(shù)錯誤 |
1006 | 圖片不能為空 |
1007 | columns參數(shù)錯誤 |
1008 | rotate參數(shù)錯誤 |
1201 | 圖片base64解密失敗 |
1301 | OCR段落識別失敗 |
1411 | 訪問頻率受限 |