整題識別(含公式)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)用密鑰;如果您還沒有,請按照新手 指南操作 。
平臺向每個(gè)賬戶贈(zèng)送50元的體驗(yàn)金,供用戶集成前測試所用,具體資費(fèi)規(guī)則詳見 整題識別(含公式)OCR服務(wù)報(bào)價(jià) 。
接口說明
整題識別(含公式) API HTTPS地址:
https://openapi.youdao.com/ocr_formula
協(xié)議須知
調(diào)用方在集成整題識別(含公式)OCR API時(shí),請遵循以下規(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 | 時(shí)間戳(秒) | 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個(gè)字符 + img長度 + img后10個(gè)字符(當(dāng)img長度大于20)或 input=img字符串(當(dāng)img長度小于等于20)。
具體示例如下:
a. 比如:img="Welcome to youdao AICloud.",字符串長度為26,大于20,其input="Welcome to"(前10個(gè)字符) + 26(字符串長度) + "o AICloud."(q字符串后10個(gè)字符)。
b. 比如:img = "sdT4bWrjS",字符串長度為9,小于20,input = "sdT4bWrjS".
注意:
- 請先將需要識別的圖片轉(zhuǎn)換為 Base64 編碼。 
- 在發(fā)送HTTP請求之前需要對各字段做 URL encode。 
- 在生成簽名拼接 - 應(yīng)用ID+- input+- salt+- curtime+- 應(yīng)用密鑰字符串時(shí),- q不需要做 URL encode,在生成簽名之后,發(fā)送 HTTP 請求之前才需要對要發(fā)送的- img做URL encode。
 
- 簽名和請求有疑問,可以參考文檔最后的常用語言demo 
輸出結(jié)果
返回的結(jié)果是json格式,具體說明如下:
| 字段 | 類型 | 字段說明 | 
| errorCode | text | 錯(cuò)誤碼 | 
| Result | jsonObject | 錯(cuò)誤 | 
| -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),共八個(gè)值:分別是左上角坐標(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í)最大請求次數(shù) | 圖片大小 | 
| jpg\png\bmp | 3600 | 編碼后2M | 
錯(cuò)誤代碼列表
| 錯(cuò)誤碼 | 含義 | 
| 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的錯(cuò)誤 | 
| 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(shí)間戳無效導(dǎo)致簽名校驗(yàn)失敗 | 
| 207 | 重放請求 | 
| 301 | 辭典查詢失敗 | 
| 302 | 翻譯查詢失敗 | 
| 303 | 服務(wù)端的其它異常 | 
| 304 | 會(huì)話閑置太久超時(shí) | 
| 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 | 識別音頻時(shí)長過長 | 
| 3009 | 不支持的音頻文件類型 | 
| 3010 | 不支持的發(fā)音類型 | 
| 3201 | 解密失敗 | 
| 3301 | 語音識別失敗 | 
| 3302 | 語音翻譯失敗 | 
| 3303 | 服務(wù)的異常 | 
| 3411 | 訪問頻率受限,請稍后訪問 | 
| 3412 | 超過最大請求字符數(shù) | 
| 4001 | 不支持的語音識別格式 | 
| 4002 | 不支持的語音識別采樣率 | 
| 4003 | 不支持的語音識別聲道 | 
| 4004 | 不支持的語音上傳類型 | 
| 4005 | 不支持的語言類型 | 
| 4006 | 識別音頻文件過大 | 
| 4007 | 識別音頻時(shí)長過長 | 
| 4201 | 解密失敗 | 
| 4301 | 語音識別失敗 | 
| 4303 | 服務(wù)的異常 | 
| 4411 | 訪問頻率受限,請稍后訪問 | 
| 4412 | 超過最大請求時(shí)長 | 
| 5001 | 無效的OCR類型 | 
| 5002 | 不支持的OCR image類型 | 
| 5003 | 不支持的語言類型 | 
| 5004 | 識別圖片過大 | 
| 5005 | 不支持的圖片類型 | 
| 5006 | 文件為空 | 
| 5201 | 解密錯(cuò)誤,圖片base64解密失敗 | 
| 5301 | OCR段落識別失敗 | 
| 5411 | 訪問頻率受限 | 
| 5412 | 超過最大識別流量 | 
| 9001 | 不支持的語音格式 | 
| 9002 | 不支持的語音采樣率 | 
| 9003 | 不支持的語音聲道 | 
| 9004 | 不支持的語音上傳類型 | 
| 9005 | 不支持的語音識別 Language類型 | 
| 9301 | ASR識別失敗 | 
| 9303 | 服務(wù)器內(nèi)部錯(cuò)誤 | 
| 9411 | 訪問頻率受限(超過最大調(diào)用次數(shù)) | 
| 9412 | 超過最大處理語音長度 | 
| 10001 | 無效的OCR類型 | 
| 10002 | 不支持的OCR image類型 | 
| 10004 | 識別圖片過大 | 
| 10201 | 圖片base64解密失敗 | 
| 10301 | OCR段落識別失敗 | 
| 10411 | 訪問頻率受限 | 
| 10412 | 超過最大識別流量 | 
| 11001 | 不支持的語音識別格式 | 
| 11002 | 不支持的語音識別采樣率 | 
| 11003 | 不支持的語音識別聲道 | 
| 11004 | 不支持的語音上傳類型 | 
| 11005 | 不支持的語言類型 | 
| 11006 | 識別音頻文件過大 | 
| 11007 | 識別音頻時(shí)長過長,最大支持30s | 
| 11201 | 解密失敗 | 
| 11301 | 語音識別失敗 | 
| 11303 | 服務(wù)的異常 | 
| 11411 | 訪問頻率受限,請稍后訪問 | 
| 11412 | 超過最大請求時(shí)長 | 
| 12001 | 圖片尺寸過大 | 
| 12002 | 圖片base64解密失敗 | 
| 12003 | 引擎服務(wù)器返回錯(cuò)誤 | 
| 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