整題識別(含公式)API 簡介
概念解釋
整題識別(含公式)服務(wù):基于有道機(jī)器學(xué)習(xí)團(tuán)隊(duì)業(yè)界領(lǐng)先的深度學(xué)習(xí)技術(shù),將自然場景下圖片上的題目文字、數(shù)字及公式信息,通過定位和檢測,智能識別為可編輯的文本信息,輕松實(shí)現(xiàn)題目電子化。
說明
Hi,您好,歡迎使用有道智云整題識別(含公式)OCR API接口服務(wù)。
本文檔主要針對需要集成API的技術(shù)開發(fā)工程師,詳細(xì)描述整題識別(含公式)OCR能力相關(guān)的技術(shù)內(nèi)容。
如果您想快速體驗(yàn)服務(wù),建議您前往 體驗(yàn)中心 或者在體驗(yàn)中心右下側(cè)找到小程序二維碼,掃描進(jìn)行體驗(yàn)。
如果您有與我們商務(wù)合作的需求,可以通過以下方式聯(lián)系我們:
商務(wù)郵箱: 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
溫馨提示:
本文檔主要針對開發(fā)人員接入測試前需要獲取應(yīng)用ID
和應(yīng)用密鑰
;如果您還沒有,請按照新手 指南操作 。
平臺向每個賬戶贈送50元的體驗(yàn)金,供用戶集成前測試所用,具體資費(fèi)規(guī)則詳見 整題識別(含公式)OCR服務(wù)報(bào)價 。
接口說明
整題識別(含公式) API HTTPS地址:
https://openapi.youdao.com/ocr_formula
協(xié)議須知
調(diào)用方在集成整題識別(含公式)OCR API時,請遵循以下規(guī)則。
規(guī)則 |
描述 |
傳輸方式 |
HTTPS |
請求方式 |
POST |
字符編碼 |
統(tǒng)一使用UTF-8編碼 |
請求格式 |
表單 |
響應(yīng)格式 |
JSON |
接口調(diào)用參數(shù)
調(diào)用API需要向接口發(fā)送以下字段來訪問服務(wù)。
符號 |
含義 |
必填 |
舉例 |
detectType |
識別類型,10011:識別結(jié)果公式完美還原;10012:識別結(jié)果適合搜題,默認(rèn)10011 |
false |
10011 |
imageType |
支持的圖片類型,目前只支持Base64 |
true |
目前只支持Base64,請置此字段固定值為1 |
appKey |
應(yīng)用ID |
true |
可在 應(yīng)用管理 查看 |
img |
要識別的圖片,目前只支持Base64編碼 |
true |
UTF-8編碼 |
curtime |
時間戳(秒) |
true |
TimeStamp |
sign |
簽名 |
true |
sha256(應(yīng)用ID+input+curtime+salt+應(yīng)用密鑰) |
salt |
UUID |
true |
uuid,唯一通用識別碼 |
signType |
簽名類型 |
true |
v3 |
docType |
服務(wù)器響應(yīng)類型,目前只支持json |
false |
json |
簽名生成方法如下:
signType=v3;
sign=sha256(應(yīng)用ID
+input
+salt
+curtime
+應(yīng)用密鑰
)。
其中,input的計(jì)算方式為:input
=img前10個字符
+ img長度
+ img后10個字符
(當(dāng)img長度大于20)或 input
=img字符串
(當(dāng)img長度小于等于20)。
具體示例如下:
a. 比如:img="Welcome to youdao AICloud.",字符串長度為26,大于20,其input="Welcome to"(前10個字符) + 26(字符串長度) + "o AICloud."(q字符串后10個字符)。
b. 比如:img = "sdT4bWrjS",字符串長度為9,小于20,input = "sdT4bWrjS".
注意:
請先將需要識別的圖片轉(zhuǎn)換為 Base64 編碼。
在發(fā)送HTTP請求之前需要對各字段做 URL encode。
在生成簽名拼接 應(yīng)用ID
+input
+salt
+curtime
+應(yīng)用密鑰
字符串時,q
不需要做 URL encode,在生成簽名之后,發(fā)送 HTTP 請求之前才需要對要發(fā)送的 img
做URL encode。
簽名和請求有疑問,可以參考文檔最后的常用語言demo
輸出結(jié)果
返回的結(jié)果是json格式,具體說明如下:
字段 |
類型 |
字段說明 |
errorCode |
text |
錯誤碼 |
Result |
jsonObject |
錯誤 |
-orientation |
text |
識別方向 |
-regions |
text |
區(qū)域 |
--boundingBox |
text |
識別區(qū)域坐標(biāo) |
--dir |
text |
方向:行 |
--lines |
jsonArray |
行數(shù)組 |
---boundingBox |
text |
行坐標(biāo)信息 |
---text_height |
text |
行高 |
---text |
text |
識別的內(nèi)容 |
---type |
text |
內(nèi)容類型:文本或公式 |
**注意:**boundingBox:坐標(biāo),共八個值:分別是左上角坐標(biāo)(x,y),右上角坐標(biāo)(x,y),右下角坐標(biāo)(x,y),左下角(x,y),原點(diǎn)為左上角坐標(biāo)。
示例
返回結(jié)果示例:
{
"errorCode": "0",
"Result": {
"orientation": "",
"regions": [{
"boundingBox": "13,15,584,15,584,83,13,83",
"dir": "h",
"lang": "",
"lines": [
[{
"boundingBox": "13,22,110,22,110,76,13,76",
"text_height": 53,
"words": [{
"boundingBox": "13,23,74,22,74,75,13,76",
"word": "13."
}, {
"boundingBox": "86,22,110,22,110,75,86,75",
"word": "若"
}],
"text": "13.若",
"type": "text"
}, {
"boundingBox": "111,15,326,15,326,82,111,82",
"text_height": 67,
"words": [{
"boundingBox": "111,15,326,15,326,82,111,82",
"word": " x = ( \\sqrt { 3 } { - 5 } ) ^ { 3 }"
}],
"text": "x = ( \\sqrt { 3 } { - 5 } ) ^ { 3 }",
"type": "formula"
}, {
"boundingBox": "327,22,384,22,384,76,327,76",
"text_height": 53,
"words": [{
"boundingBox": "327,22,338,22,338,75,327,75",
"word": ","
}, {
"boundingBox": "350,23,384,23,384,76,350,76",
"word": "則"
}],
"text": ",則",
"type": "text"
}, {
"boundingBox": "385,15,584,15,584,83,385,83",
"text_height": 67,
"words": [{
"boundingBox": "385,16,584,15,584,82,385,83",
"word": " \\sqrt { - x - 1 } ="
}],
"text": "\\sqrt { - x - 1 } =",
"type": "formula"
}]
]
}],
"exif": "UP"
}
}
服務(wù)配置
支持圖片格式 |
每小時最大請求次數(shù) |
圖片大小 |
jpg\png\bmp |
3600 |
編碼后2M |
錯誤代碼列表
錯誤碼 |
含義 |
101 |
缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認(rèn)參數(shù)書寫是否正確。 |
102 |
不支持的語言類型 |
103 |
翻譯文本過長 |
104 |
不支持的API類型 |
105 |
不支持的簽名類型 |
106 |
不支持的響應(yīng)類型 |
107 |
不支持的傳輸加密類型 |
108 |
應(yīng)用ID無效,注冊賬號,登錄后臺創(chuàng)建應(yīng)用和實(shí)例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息 |
109 |
batchLog格式不正確 |
110 |
無相關(guān)服務(wù)的有效實(shí)例,應(yīng)用沒有綁定服務(wù)實(shí)例,可以新建服務(wù)實(shí)例,綁定服務(wù)實(shí)例。注:某些服務(wù)的翻譯結(jié)果發(fā)音需要tts實(shí)例,需要在控制臺創(chuàng)建語音合成實(shí)例綁定應(yīng)用后方能使用。 |
111 |
開發(fā)者賬號無效 |
112 |
請求服務(wù)無效 |
113 |
q不能為空 |
114 |
不支持的圖片傳輸方式 |
201 |
解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 |
簽名檢驗(yàn)失敗,如果確認(rèn)應(yīng)用ID和應(yīng)用密鑰的正確性,仍返回202,一般是編碼問題。請確保 img 為UTF-8編碼. |
203 |
訪問IP地址不在可訪問IP列表 |
205 |
請求的接口與應(yīng)用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺類型一致。如有疑問請參考入門指南 |
206 |
因?yàn)闀r間戳無效導(dǎo)致簽名校驗(yàn)失敗 |
207 |
重放請求 |
301 |
辭典查詢失敗 |
302 |
翻譯查詢失敗 |
303 |
服務(wù)端的其它異常 |
304 |
會話閑置太久超時 |
401 |
賬戶已經(jīng)欠費(fèi)停 |
402 |
offlinesdk不可用 |
411 |
訪問頻率受限,請稍后訪問 |
412 |
長請求過于頻繁,請稍后訪問 |
1001 |
無效的OCR類型 |
1002 |
不支持的OCR image類型 |
1003 |
不支持的OCR Language類型 |
1004 |
識別圖片過大 |
1201 |
圖片base64解密失敗 |
1301 |
OCR段落識別失敗 |
1411 |
訪問頻率受限 |
1412 |
超過最大識別字節(jié)數(shù) |
2003 |
不支持的語言識別Language類型 |
2004 |
合成字符過長 |
2005 |
不支持的音頻文件類型 |
2006 |
不支持的發(fā)音類型 |
2201 |
解密失敗 |
2301 |
服務(wù)的異常 |
2411 |
訪問頻率受限,請稍后訪問 |
2412 |
超過最大請求字符數(shù) |
3001 |
不支持的語音格式 |
3002 |
不支持的語音采樣率 |
3003 |
不支持的語音聲道 |
3004 |
不支持的語音上傳類型 |
3005 |
不支持的語言類型 |
3006 |
不支持的識別類型 |
3007 |
識別音頻文件過大 |
3008 |
識別音頻時長過長 |
3009 |
不支持的音頻文件類型 |
3010 |
不支持的發(fā)音類型 |
3201 |
解密失敗 |
3301 |
語音識別失敗 |
3302 |
語音翻譯失敗 |
3303 |
服務(wù)的異常 |
3411 |
訪問頻率受限,請稍后訪問 |
3412 |
超過最大請求字符數(shù) |
4001 |
不支持的語音識別格式 |
4002 |
不支持的語音識別采樣率 |
4003 |
不支持的語音識別聲道 |
4004 |
不支持的語音上傳類型 |
4005 |
不支持的語言類型 |
4006 |
識別音頻文件過大 |
4007 |
識別音頻時長過長 |
4201 |
解密失敗 |
4301 |
語音識別失敗 |
4303 |
服務(wù)的異常 |
4411 |
訪問頻率受限,請稍后訪問 |
4412 |
超過最大請求時長 |
5001 |
無效的OCR類型 |
5002 |
不支持的OCR image類型 |
5003 |
不支持的語言類型 |
5004 |
識別圖片過大 |
5005 |
不支持的圖片類型 |
5006 |
文件為空 |
5201 |
解密錯誤,圖片base64解密失敗 |
5301 |
OCR段落識別失敗 |
5411 |
訪問頻率受限 |
5412 |
超過最大識別流量 |
9001 |
不支持的語音格式 |
9002 |
不支持的語音采樣率 |
9003 |
不支持的語音聲道 |
9004 |
不支持的語音上傳類型 |
9005 |
不支持的語音識別 Language類型 |
9301 |
ASR識別失敗 |
9303 |
服務(wù)器內(nèi)部錯誤 |
9411 |
訪問頻率受限(超過最大調(diào)用次數(shù)) |
9412 |
超過最大處理語音長度 |
10001 |
無效的OCR類型 |
10002 |
不支持的OCR image類型 |
10004 |
識別圖片過大 |
10201 |
圖片base64解密失敗 |
10301 |
OCR段落識別失敗 |
10411 |
訪問頻率受限 |
10412 |
超過最大識別流量 |
11001 |
不支持的語音識別格式 |
11002 |
不支持的語音識別采樣率 |
11003 |
不支持的語音識別聲道 |
11004 |
不支持的語音上傳類型 |
11005 |
不支持的語言類型 |
11006 |
識別音頻文件過大 |
11007 |
識別音頻時長過長,最大支持30s |
11201 |
解密失敗 |
11301 |
語音識別失敗 |
11303 |
服務(wù)的異常 |
11411 |
訪問頻率受限,請稍后訪問 |
11412 |
超過最大請求時長 |
12001 |
圖片尺寸過大 |
12002 |
圖片base64解密失敗 |
12003 |
引擎服務(wù)器返回錯誤 |
12004 |
圖片為空 |
12005 |
不支持的識別圖片類型 |
12006 |
圖片無匹配結(jié)果 |
13001 |
不支持的角度類型 |
13002 |
不支持的文件類型 |
13003 |
表格識別圖片過大 |
13004 |
文件為空 |
13301 |
表格識別失敗 |
15001 |
需要圖片 |
15002 |
圖片過大(1M) |
15003 |
服務(wù)調(diào)用失敗 |
17001 |
需要圖片 |
17002 |
圖片過大(1M) |
17003 |
識別類型未找到 |
17004 |
不支持的識別類型 |
17005 |
服務(wù)調(diào)用失敗 |
版本更新記錄
上線日期 |
版本號 |
更新內(nèi)容 |
2019.05.23 |
v1.0.0 |
整題識別(含公式)API上線,支持識別中英文場景下的公式,返回可編輯的latex結(jié)果 |
常用語言 Demo
Java 示例
整題識別(含公式) java demo
Python 示例
整題識別(含公式) python3 demo
C# 示例
整題識別(含公式) c# demo
PHP 示例
整題識別(含公式) php demo
Go 示例
整題識別(含公式) go demo