五月天综合,亚洲午夜久久久精品影院,天天做天天爱天天综合网2021,无码人妻精品一区二区蜜桃网站

幫助與文檔 > 產(chǎn)品文檔 > 視覺(jué)智能服務(wù) > Android_SDK文檔 > 通用OCR
通用OCR

通用文字識(shí)別 Android SDK 簡(jiǎn)介

(1) 概念解釋

通用文字識(shí)別:將自然場(chǎng)景下圖片上的文字內(nèi)容,通過(guò)定位和檢測(cè),智能識(shí)別為可編輯的文本信息

(2) 說(shuō)明

Hi,您好,歡迎使用有道智云通用文字識(shí)別 Android SDK。

本文檔主要針對(duì)需要集成通用文字識(shí)別 Android SDK 的開(kāi)發(fā)工程師,詳細(xì)描述有道智云OCR能力及集成過(guò)程。

如果您想快速體驗(yàn)服務(wù),建議您前往 體驗(yàn)中心 或者在體驗(yàn)中心右下側(cè)找到小程序二維碼,掃描進(jìn)行體驗(yàn)。

如果您有與我們商務(wù)合作的需求,可以通過(guò)以下方式聯(lián)系我們:

商務(wù)郵箱: AIcloud_Business@corp.youdao.com

如果您對(duì)文檔內(nèi)容有任何疑問(wèn),可以通過(guò)以下幾種方式聯(lián)系我們:

客服QQ:1906538062

智云OCR技術(shù)交流QQ 1群: 654064748

智云OCR技術(shù)交流QQ 2群: 471638046

智云語(yǔ)音技術(shù)交流QQ群:861723255

聯(lián)系郵箱: zhiyun@corp.youdao.com

溫馨提示:
本文檔主要針對(duì)開(kāi)發(fā)人員,接入測(cè)試前需要在后臺(tái)創(chuàng)建API應(yīng)用,并綁定實(shí)例;如果您還沒(méi)有,請(qǐng)按照 新手指南 操作。
平臺(tái)向每個(gè)賬戶贈(zèng)送50元的體驗(yàn)金,供用戶集成前測(cè)試所用,具體資費(fèi)規(guī)則詳見(jiàn) 通用文字識(shí)別服務(wù)報(bào)價(jià) 。

功能介紹

通用文字識(shí)別服務(wù) SDK是有道在線 OCR 接口服務(wù)進(jìn)行封裝,支持在線文本識(shí)別。提供快速的接入方式;同時(shí)提供數(shù)據(jù)統(tǒng)計(jì)能力,方便了解用戶使用情況。

兼容性

支持設(shè)備:運(yùn)行了 Android 4.0.3以及以上系統(tǒng)的 Android 設(shè)備

通用文字識(shí)別 Android SDK集成指南

集成前提

開(kāi)始集成SDK之前開(kāi)發(fā)者需要登錄 有道智云平臺(tái),創(chuàng)建應(yīng)用獲取應(yīng)用ID(或者通過(guò)運(yùn)營(yíng)人員獲取應(yīng)用ID),以便使用通用文字識(shí)別服務(wù)。

集成步驟

(1) SDK包導(dǎo)入

請(qǐng)?jiān)诠こ涛募夸浵聞?chuàng)建一個(gè)名為 libs 的子目錄(有的話則不需要?jiǎng)?chuàng)建),并將YoudaoBase.jar,so包和YoudaoTranslateOnline.jar拷貝到 libs 目錄下,并將以下代碼添加到app的build.gradle中:

android {
    sourceSets.main.jniLibs.srcDirs = ['libs']
    ...
}
    
dependencies {
    compile files('libs/YoudaoBase_v2.0.0.jar')
    compile files('libs/YoudaoOCROnline_v2.0.0.jar')
}

(2) AndroidManifest配置

<uses-permission android:name="android.permission.INTERNET" />
<!-- 獲取WiFi狀態(tài) -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 獲取網(wǎng)絡(luò)信息狀態(tài),如當(dāng)前的網(wǎng)絡(luò)連接是否有效 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- 讀取手機(jī)狀態(tài) phone group -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<!-- 往SDCard讀寫(xiě)數(shù)據(jù)權(quán)限   storage group -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

(3) 代碼混淆配置

代碼混淆文件proguard-project.txt,添加如下內(nèi)容:

-ignorewarnings
-libraryjars libs/YoudaoBase_v2.0.0.jar
-libraryjars libs/YoudaoOCROnline_v2.0.0.jar
-keep class com.youdao.sdk.ydtranslate.** { ;} -keep class com.youdao.ocr.online.* { *;}

(4) SDK初始化

使用圖片翻譯SDK,請(qǐng)?jiān)诔绦虻腁pplication中調(diào)用SDK初始化代碼,可以參考demo中DemoApplication。
注:appkey即應(yīng)用ID。

//appkey即應(yīng)用ID
YouDaoApplication.init(this, appkey);

功能集成

說(shuō)明:請(qǐng)參考 demo 中 OcrDemoActivity 的使用

(1) 參數(shù)說(shuō)明

type:識(shí)別類(lèi)型,目前僅支持10012,表示按行識(shí)別

lanType:支持"zh-en"和"en",其中"zh-en"為中英識(shí)別,"en"參數(shù)表示只識(shí)別英文。若為純英文識(shí)別,"zh-en"的識(shí)別效果不如"en",請(qǐng)妥善選擇

source:設(shè)置為app對(duì)應(yīng)的名稱(chēng)(英文字符串)

timeout:表示超時(shí)時(shí)間

注意:輸入圖片數(shù)據(jù)需要轉(zhuǎn)換為Base64編碼。

(2) 構(gòu)造OCR識(shí)別參數(shù)對(duì)象

//OCR識(shí)別
OCRParameters tps = new OCRParameters.Builder()
                              .source("youdaoocr")
                              .timeout(100000)
                              .langType("zh-en")
                              .build();

(3) 設(shè)置回調(diào)和開(kāi)始識(shí)別

通過(guò)ImageOCRecognizer,設(shè)置上一步構(gòu)造的參數(shù)對(duì)象,調(diào)用recognize方法傳入圖片base64編碼的數(shù)據(jù)和回調(diào)接口開(kāi)始查詢

識(shí)別回調(diào)接口包含兩個(gè)方法:onResult表示識(shí)別成功,相關(guān)結(jié)果存儲(chǔ)在result參數(shù)中,onError表示失敗,失敗信息放在OcrErrorCode中。可參見(jiàn) 錯(cuò)誤代碼列表 。

注意:整個(gè)識(shí)別是異步的,回調(diào)在子線程進(jìn)行,若涉及到界面操作,請(qǐng)切回主線程。

//OCR識(shí)別
ImageOCRecognizer.getInstance(tps).recognize(base64,
                              new OCRListener() {

                                  @Override
                                  public void onResult(OCRResult result,
                                          String input) {
                                      //識(shí)別成功
                                  }

                                  @Override
                                  public void onError(OcrErrorCode error) {
                                      //識(shí)別失敗
                                  }
                              });

通用文字識(shí)別結(jié)果說(shuō)明

對(duì)于中英在線 OCR,查詢結(jié)果比較詳細(xì),服務(wù)器返回?cái)?shù)據(jù)如下所示:

{
   "errorCode": "0",
   "Result": {
       "orientation": "Up",//方向
       "regions": [
           {
               "boundingBox": "28,257,4086,150",
               "lines": [
                   {
                       "boundingBox": "31,257,4083,73",
                       "words": [
                           {
                               "boundingBox": "354,257,347,50",
                               "text": "translation"
                           }
                       ]
                   },
       ],
       "textAngle": 0,//偏移量
       "language": "en"
   }

服務(wù)器是按照區(qū)域,行,字的格式返回的,即,一張圖片,會(huì)識(shí)別出圖片對(duì)應(yīng)的 OCRResult,其上可能有多個(gè)有效區(qū)域 Region ,每個(gè)區(qū)域會(huì)包含一行或幾行 Line ,每個(gè)行又包含一個(gè)或多個(gè)字 Word ,每個(gè)區(qū)域和行或者字符,都通過(guò) boundingBox 字段返回坐標(biāo)和大小 Rect。

sdk將上述 json 值封裝成 OCRResutlt 對(duì)象,其數(shù)據(jù)結(jié)構(gòu)如下:

public class OCRResult {

   private String json;

   private int errorCode;

   private String language;

   private int textAngle;

   private String orientation;

   private List<Region> regions;
}

public class Region {

   private Rect boundingBox;

   private List<Line> lines = new ArrayList<Line>();
}

public class Rect {

   private int left;

   private int top;

   private int width;

   private int height;
}

public class Line {

   private Rect boundingBox;

   private List<Word> words = new ArrayList<Word>();
}

public class Word {

   private String text;

   private Rect boundingBox;
}

支持語(yǔ)言

語(yǔ)言代碼語(yǔ)言
sq阿爾巴尼亞語(yǔ)
az阿塞拜疆語(yǔ)
eu巴斯克語(yǔ)
be白俄羅斯語(yǔ)
bs波斯尼亞文(拉丁文)
bg保加利亞文
ca加泰羅尼亞文(加泰隆語(yǔ))
ceb宿務(wù)語(yǔ)
ny齊切瓦語(yǔ)
zh-CHS中文
zh-CHT中文(繁體)
co科西嘉語(yǔ)
hr克羅地亞文
cs捷克文
da丹麥文
nl荷蘭文
en英文
eo世界語(yǔ)
et愛(ài)沙尼亞文
fi芬蘭文
fr法文
gd蘇格蘭蓋爾語(yǔ)
gl加利西亞語(yǔ)
de德文
ht海地文
ha豪薩語(yǔ)
haw夏威夷語(yǔ)
hi印地文
hu匈牙利文
is冰島語(yǔ)
ig伊博語(yǔ)
id印度尼西亞文
ga愛(ài)爾蘭語(yǔ)
it意大利文
ja日文
jw印尼爪哇語(yǔ)
ko韓文
ku庫(kù)爾德語(yǔ)
la拉丁語(yǔ)
lv拉脫維亞文
lt立陶宛文
lb盧森堡語(yǔ)
mk馬其頓語(yǔ)
mg馬爾加什語(yǔ)
ms馬來(lái)文
mt馬耳他文
mi毛利語(yǔ)
mr馬拉地語(yǔ)
mn蒙古語(yǔ)
ne尼泊爾語(yǔ)
no挪威文
pl波蘭文
pt葡萄牙文
ro羅馬尼亞文
ru俄文
sm薩摩亞語(yǔ)
sr-Latn塞爾維亞文(拉丁文)
sn修納語(yǔ)
sk斯洛伐克文
sl斯洛文尼亞文
so索馬里語(yǔ)
st塞索托語(yǔ)
es西班牙文
su印尼巽他語(yǔ)
sw斯瓦希里文
sv瑞典文
tl菲律賓語(yǔ)
tg塔吉克語(yǔ)
tr土耳其文
uk烏克蘭文
uz烏茲別克語(yǔ)
vi越南文
cy威爾士文
fy弗里斯蘭語(yǔ)
yo約魯巴語(yǔ)
zu南非祖魯語(yǔ)
hmn苗族語(yǔ)
xh班圖
af南非荷蘭
auto自動(dòng)識(shí)別

auto支持所有語(yǔ)種的自動(dòng)識(shí)別

錯(cuò)誤代碼列表

錯(cuò)誤碼含義
101缺少必填的參數(shù)
102不支持的語(yǔ)言類(lèi)型
103翻譯文本過(guò)長(zhǎng)
104不支持的API類(lèi)型
105不支持的簽名類(lèi)型
106不支持的響應(yīng)類(lèi)型
107不支持的傳輸加密類(lèi)型
108應(yīng)用ID無(wú)效,注冊(cè)賬號(hào),登錄后臺(tái)創(chuàng)建應(yīng)用和實(shí)例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息
109batchLog格式不正確
110無(wú)相關(guān)服務(wù)的有效實(shí)例
111開(kāi)發(fā)者賬號(hào)無(wú)效
113q不能為空
114不支持的圖片傳輸方式
201解密失敗,可能為DES,BASE64,URLDecode的錯(cuò)誤
202簽名檢驗(yàn)失敗
203訪問(wèn)IP地址不在可訪問(wèn)IP列表
205請(qǐng)求的接口與應(yīng)用的平臺(tái)類(lèi)型不一致,如有疑問(wèn)請(qǐng)參考入門(mén)指南
206因?yàn)闀r(shí)間戳無(wú)效導(dǎo)致簽名校驗(yàn)失敗
207重放請(qǐng)求
301辭典查詢失敗
302翻譯查詢失敗
303服務(wù)端的其它異常
304會(huì)話閑置太久超時(shí)
401賬戶已經(jīng)欠費(fèi)停
402offlinesdk不可用
411訪問(wèn)頻率受限,請(qǐng)稍后訪問(wèn)
412長(zhǎng)請(qǐng)求過(guò)于頻繁,請(qǐng)稍后訪問(wèn)
1001無(wú)效的OCR類(lèi)型
1002不支持的OCR image類(lèi)型
1003不支持的OCR Language類(lèi)型
1004識(shí)別圖片過(guò)大
1201圖片base64解密失敗
1301OCR段落識(shí)別失敗
1411訪問(wèn)頻率受限
1412超過(guò)最大識(shí)別字節(jié)數(shù)
2003不支持的語(yǔ)音聲道
2004不支持的語(yǔ)音上傳類(lèi)型
2005不支持的語(yǔ)言類(lèi)型
2006不支持的識(shí)別類(lèi)型
2201識(shí)別音頻文件過(guò)大
2301識(shí)別音頻時(shí)長(zhǎng)過(guò)長(zhǎng)
2411不支持的音頻文件類(lèi)型
2412不支持的發(fā)音類(lèi)型
3001不支持的語(yǔ)音格式
3002不支持的語(yǔ)音采樣率
3003不支持的語(yǔ)音聲道
3004不支持的語(yǔ)音上傳類(lèi)型
3005不支持的語(yǔ)言類(lèi)型
3006不支持的識(shí)別類(lèi)型
3007識(shí)別音頻文件過(guò)大
3008識(shí)別音頻時(shí)長(zhǎng)過(guò)長(zhǎng)
3009不支持的音頻文件類(lèi)型
3010不支持的發(fā)音類(lèi)型
3201解密失敗
3301語(yǔ)音識(shí)別失敗
3302語(yǔ)音翻譯失敗
3303服務(wù)的異常
3411訪問(wèn)頻率受限,請(qǐng)稍后訪問(wèn)
3412超過(guò)最大請(qǐng)求字符數(shù)
4001不支持的語(yǔ)音識(shí)別格式
4002不支持的語(yǔ)音識(shí)別采樣率
4003不支持的語(yǔ)音識(shí)別聲道
4004不支持的語(yǔ)音上傳類(lèi)型
4005不支持的語(yǔ)言類(lèi)型
4006識(shí)別音頻文件過(guò)大
4007識(shí)別音頻時(shí)長(zhǎng)過(guò)長(zhǎng)
4201解密失敗
4301語(yǔ)音識(shí)別失敗
4303服務(wù)的異常
4411訪問(wèn)頻率受限,請(qǐng)稍后訪問(wèn)
4412超過(guò)最大請(qǐng)求時(shí)長(zhǎng)
5001無(wú)效的OCR類(lèi)型
5002不支持的OCR image類(lèi)型
5003不支持的語(yǔ)言類(lèi)型
5004識(shí)別圖片過(guò)大
5005不支持的圖片類(lèi)型
5006文件為空
5201解密錯(cuò)誤,圖片base64解密失敗
5301OCR段落識(shí)別失敗
5411訪問(wèn)頻率受限
5412超過(guò)最大識(shí)別流量
9001不支持的語(yǔ)音格式
9002不支持的語(yǔ)音采樣率
9003不支持的語(yǔ)音聲道
9004不支持的語(yǔ)音上傳類(lèi)型
9005不支持的語(yǔ)音識(shí)別 Language類(lèi)型
9301ASR識(shí)別失敗
9303服務(wù)器內(nèi)部錯(cuò)誤
9411訪問(wèn)頻率受限(超過(guò)最大調(diào)用次數(shù))
9412超過(guò)最大處理語(yǔ)音長(zhǎng)度
10001無(wú)效的OCR類(lèi)型
10002不支持的OCR image類(lèi)型
10004識(shí)別圖片過(guò)大
10201圖片base64解密失敗
10301OCR段落識(shí)別失敗
10411訪問(wèn)頻率受限
10412超過(guò)最大識(shí)別流量
11001不支持的語(yǔ)音識(shí)別格式
11002不支持的語(yǔ)音識(shí)別采樣率
11003不支持的語(yǔ)音識(shí)別聲道
11004不支持的語(yǔ)音上傳類(lèi)型
11005不支持的語(yǔ)言類(lèi)型
11006識(shí)別音頻文件過(guò)大
11007識(shí)別音頻時(shí)長(zhǎng)過(guò)長(zhǎng),最大支持30s
11201解密失敗
11301語(yǔ)音識(shí)別失敗
11303服務(wù)的異常
11411訪問(wèn)頻率受限,請(qǐng)稍后訪問(wèn)
11412超過(guò)最大請(qǐng)求時(shí)長(zhǎng)
12001圖片尺寸過(guò)大
12002圖片base64解密失敗
12003引擎服務(wù)器返回錯(cuò)誤
12004圖片為空
12005不支持的識(shí)別圖片類(lèi)型
12006圖片無(wú)匹配結(jié)果
13001不支持的角度類(lèi)型
13002不支持的文件類(lèi)型
13003表格識(shí)別圖片過(guò)大
13004文件為空
13301表格識(shí)別失敗
15001需要圖片
15002圖片過(guò)大(1M)
15003服務(wù)調(diào)用失敗
17001需要圖片
17002圖片過(guò)大(1M)
17003識(shí)別類(lèi)型未找到
17004不支持的識(shí)別類(lèi)型
17005服務(wù)調(diào)用失敗
-1000未知錯(cuò)誤
-2000查詢輸入為空

常見(jiàn)問(wèn)題及注意事項(xiàng)

1.運(yùn)行程序崩潰?
檢查下是否對(duì)應(yīng)的 so 是否放到當(dāng)前工程目錄下。

2.識(shí)別沒(méi)結(jié)果?
檢查下識(shí)別接口回調(diào)的錯(cuò)誤信息,保證申請(qǐng)的應(yīng)用ID是有效且提前綁定了。

3.如何獲得應(yīng)用ID
注冊(cè)賬號(hào), 登錄后臺(tái)創(chuàng)建應(yīng)用和實(shí)例并完成綁定, 可獲得應(yīng)用ID和應(yīng)用密鑰等信息。

4.出現(xiàn)錯(cuò)誤HTTP_REQUEST_ERROR("Http requesterror.",1)
在確保有網(wǎng)情況下,若調(diào)用過(guò)程中出現(xiàn)這個(gè)錯(cuò)誤,HTTP_REQUEST_ERROR("Http requesterror.",1) ,請(qǐng)檢查是否是在主線程中調(diào)用的翻譯識(shí)別方法,請(qǐng)確保在主線程調(diào)用。

版本更新記錄

上線日期版本號(hào)更新內(nèi)容
2017.06.30v1.2.0有道智云 OCR Android SDK上線,支持中英文在線文字識(shí)別
2017.07.24v1.3.0修復(fù)已知 bug
2017.08.16v1.4.01. 修復(fù)已知 bug
2. 提供多版本的 so 文件
2017.11.16v1.5.0支持非主線程調(diào)用
2019.11.01v2.0.0兼容多個(gè)包無(wú)法使用情況