整題識別(含公式)API 簡介
概念解釋
整題識別(含公式)服務:基于有道機器學習團隊業(yè)界領先的深度學習技術(shù),將自然場景下圖片上的題目文字、數(shù)字及公式信息,通過定位和檢測,智能識別為可編輯的文本信息,輕松實現(xiàn)題目電子化。
說明
Hi,您好,歡迎使用有道智云整題識別(含公式)OCR API接口服務。
本文檔主要針對需要集成API的技術(shù)開發(fā)工程師,詳細描述整題識別(含公式)OCR能力相關(guān)的技術(shù)內(nèi)容。
如果您想快速體驗服務,建議您前往 體驗中心 或者在體驗中心右下側(cè)找到小程序二維碼,掃描進行體驗。
如果您有與我們商務合作的需求,可以通過以下方式聯(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
溫馨提示:
本文檔主要針對開發(fā)人員接入測試前需要獲取應用ID和應用密鑰;如果您還沒有,請按照新手 指南操作 。
平臺向每個賬戶贈送50元的體驗金,供用戶集成前測試所用,具體資費規(guī)則詳見 整題識別(含公式)OCR服務報價 。
接口說明
整題識別(含公式) API HTTPS地址:
https://openapi.youdao.com/ocr_formula
協(xié)議須知
調(diào)用方在集成整題識別(含公式)OCR API時,請遵循以下規(guī)則。
| 規(guī)則 |
描述 |
| 傳輸方式 |
HTTPS |
| 請求方式 |
POST |
| 字符編碼 |
統(tǒng)一使用UTF-8編碼 |
| 請求格式 |
表單 |
| 響應格式 |
JSON |
接口調(diào)用參數(shù)
調(diào)用API需要向接口發(fā)送以下字段來訪問服務。
| 符號 |
含義 |
必填 |
舉例 |
| detectType |
識別類型,10011:識別結(jié)果公式完美還原;10012:識別結(jié)果適合搜題,默認10011 |
false |
10011 |
| imageType |
支持的圖片類型,目前只支持Base64 |
true |
目前只支持Base64,請置此字段固定值為1 |
| appKey |
應用ID |
true |
可在 應用管理 查看 |
| img |
要識別的圖片,目前只支持Base64編碼 |
true |
UTF-8編碼 |
| curtime |
時間戳(秒) |
true |
TimeStamp |
| sign |
簽名 |
true |
sha256(應用ID+input+curtime+salt+應用密鑰) |
| salt |
UUID |
true |
uuid,唯一通用識別碼 |
| signType |
簽名類型 |
true |
v3 |
| docType |
服務器響應類型,目前只支持json |
false |
json |
簽名生成方法如下:
signType=v3;
sign=sha256(應用ID+input+salt+curtime+應用密鑰)。
其中,input的計算方式為:input=img前10個字符 + img長度 + img后10個字符(當img長度大于20)或 input=img字符串(當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。
在生成簽名拼接 應用ID+input+salt+curtime+應用密鑰 字符串時,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ū)域坐標 |
| --dir |
text |
方向:行 |
| --lines |
jsonArray |
行數(shù)組 |
| ---boundingBox |
text |
行坐標信息 |
| ---text_height |
text |
行高 |
| ---text |
text |
識別的內(nèi)容 |
| ---type |
text |
內(nèi)容類型:文本或公式 |
**注意:**boundingBox:坐標,共八個值:分別是左上角坐標(x,y),右上角坐標(x,y),右下角坐標(x,y),左下角(x,y),原點為左上角坐標。
示例
返回結(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"
}
}
服務配置
| 支持圖片格式 |
每小時最大請求次數(shù) |
圖片大小 |
| jpg\png\bmp |
3600 |
編碼后2M |
錯誤代碼列表
| 錯誤碼 |
含義 |
| 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 |
識別圖片過大 |
| 1201 |
圖片base64解密失敗 |
| 1301 |
OCR段落識別失敗 |
| 1411 |
訪問頻率受限 |
| 1412 |
超過最大識別字節(jié)數(shù) |
| 2003 |
不支持的語言識別Language類型 |
| 2004 |
合成字符過長 |
| 2005 |
不支持的音頻文件類型 |
| 2006 |
不支持的發(fā)音類型 |
| 2201 |
解密失敗 |
| 2301 |
服務的異常 |
| 2411 |
訪問頻率受限,請稍后訪問 |
| 2412 |
超過最大請求字符數(shù) |
| 3001 |
不支持的語音格式 |
| 3002 |
不支持的語音采樣率 |
| 3003 |
不支持的語音聲道 |
| 3004 |
不支持的語音上傳類型 |
| 3005 |
不支持的語言類型 |
| 3006 |
不支持的識別類型 |
| 3007 |
識別音頻文件過大 |
| 3008 |
識別音頻時長過長 |
| 3009 |
不支持的音頻文件類型 |
| 3010 |
不支持的發(fā)音類型 |
| 3201 |
解密失敗 |
| 3301 |
語音識別失敗 |
| 3302 |
語音翻譯失敗 |
| 3303 |
服務的異常 |
| 3411 |
訪問頻率受限,請稍后訪問 |
| 3412 |
超過最大請求字符數(shù) |
| 4001 |
不支持的語音識別格式 |
| 4002 |
不支持的語音識別采樣率 |
| 4003 |
不支持的語音識別聲道 |
| 4004 |
不支持的語音上傳類型 |
| 4005 |
不支持的語言類型 |
| 4006 |
識別音頻文件過大 |
| 4007 |
識別音頻時長過長 |
| 4201 |
解密失敗 |
| 4301 |
語音識別失敗 |
| 4303 |
服務的異常 |
| 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 |
服務器內(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 |
服務的異常 |
| 11411 |
訪問頻率受限,請稍后訪問 |
| 11412 |
超過最大請求時長 |
| 12001 |
圖片尺寸過大 |
| 12002 |
圖片base64解密失敗 |
| 12003 |
引擎服務器返回錯誤 |
| 12004 |
圖片為空 |
| 12005 |
不支持的識別圖片類型 |
| 12006 |
圖片無匹配結(jié)果 |
| 13001 |
不支持的角度類型 |
| 13002 |
不支持的文件類型 |
| 13003 |
表格識別圖片過大 |
| 13004 |
文件為空 |
| 13301 |
表格識別失敗 |
| 15001 |
需要圖片 |
| 15002 |
圖片過大(1M) |
| 15003 |
服務調(diào)用失敗 |
| 17001 |
需要圖片 |
| 17002 |
圖片過大(1M) |
| 17003 |
識別類型未找到 |
| 17004 |
不支持的識別類型 |
| 17005 |
服務調(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