久久久,亚洲色图美腿丝袜,久久久久亚洲视频,亚洲seav一区二区三区

幫助與文檔 > 產(chǎn)品文檔 > 視覺智能服務(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 的開發(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ì)開發(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ī)則詳見 通用文字識(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集成指南

集成前提

開始集成SDK之前開發(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讀寫數(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í)別類型,目前僅支持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)的名稱(英文字符串)

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)和開始識(shí)別

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

識(shí)別回調(diào)接口包含兩個(gè)方法:onResult表示識(shí)別成功,相關(guān)結(jié)果存儲(chǔ)在result參數(shù)中,onError表示失敗,失敗信息放在OcrErrorCode中。可參見 錯(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 愛沙尼亞文
fi 芬蘭文
fr 法文
gd 蘇格蘭蓋爾語(yǔ)
gl 加利西亞語(yǔ)
de 德文
ht 海地文
ha 豪薩語(yǔ)
haw 夏威夷語(yǔ)
hi 印地文
hu 匈牙利文
is 冰島語(yǔ)
ig 伊博語(yǔ)
id 印度尼西亞文
ga 愛爾蘭語(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ǔ)言類型
103 翻譯文本過(guò)長(zhǎng)
104 不支持的API類型
105 不支持的簽名類型
106 不支持的響應(yīng)類型
107 不支持的傳輸加密類型
108 應(yīng)用ID無(wú)效,注冊(cè)賬號(hào),登錄后臺(tái)創(chuàng)建應(yīng)用和實(shí)例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息
109 batchLog格式不正確
110 無(wú)相關(guān)服務(wù)的有效實(shí)例
111 開發(fā)者賬號(hào)無(wú)效
113 q不能為空
114 不支持的圖片傳輸方式
201 解密失敗,可能為DES,BASE64,URLDecode的錯(cuò)誤
202 簽名檢驗(yàn)失敗
203 訪問(wèn)IP地址不在可訪問(wèn)IP列表
205 請(qǐng)求的接口與應(yīng)用的平臺(tái)類型不一致,如有疑問(wèn)請(qǐng)參考入門指南
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)停
402 offlinesdk不可用
411 訪問(wèn)頻率受限,請(qǐng)稍后訪問(wèn)
412 長(zhǎng)請(qǐng)求過(guò)于頻繁,請(qǐng)稍后訪問(wèn)
1001 無(wú)效的OCR類型
1002 不支持的OCR image類型
1003 不支持的OCR Language類型
1004 識(shí)別圖片過(guò)大
1201 圖片base64解密失敗
1301 OCR段落識(shí)別失敗
1411 訪問(wèn)頻率受限
1412 超過(guò)最大識(shí)別字節(jié)數(shù)
2003 不支持的語(yǔ)音聲道
2004 不支持的語(yǔ)音上傳類型
2005 不支持的語(yǔ)言類型
2006 不支持的識(shí)別類型
2201 識(shí)別音頻文件過(guò)大
2301 識(shí)別音頻時(shí)長(zhǎng)過(guò)長(zhǎng)
2411 不支持的音頻文件類型
2412 不支持的發(fā)音類型
3001 不支持的語(yǔ)音格式
3002 不支持的語(yǔ)音采樣率
3003 不支持的語(yǔ)音聲道
3004 不支持的語(yǔ)音上傳類型
3005 不支持的語(yǔ)言類型
3006 不支持的識(shí)別類型
3007 識(shí)別音頻文件過(guò)大
3008 識(shí)別音頻時(shí)長(zhǎng)過(guò)長(zhǎng)
3009 不支持的音頻文件類型
3010 不支持的發(fā)音類型
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ǔ)音上傳類型
4005 不支持的語(yǔ)言類型
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類型
5002 不支持的OCR image類型
5003 不支持的語(yǔ)言類型
5004 識(shí)別圖片過(guò)大
5005 不支持的圖片類型
5006 文件為空
5201 解密錯(cuò)誤,圖片base64解密失敗
5301 OCR段落識(shí)別失敗
5411 訪問(wèn)頻率受限
5412 超過(guò)最大識(shí)別流量
9001 不支持的語(yǔ)音格式
9002 不支持的語(yǔ)音采樣率
9003 不支持的語(yǔ)音聲道
9004 不支持的語(yǔ)音上傳類型
9005 不支持的語(yǔ)音識(shí)別 Language類型
9301 ASR識(shí)別失敗
9303 服務(wù)器內(nèi)部錯(cuò)誤
9411 訪問(wèn)頻率受限(超過(guò)最大調(diào)用次數(shù))
9412 超過(guò)最大處理語(yǔ)音長(zhǎng)度
10001 無(wú)效的OCR類型
10002 不支持的OCR image類型
10004 識(shí)別圖片過(guò)大
10201 圖片base64解密失敗
10301 OCR段落識(shí)別失敗
10411 訪問(wèn)頻率受限
10412 超過(guò)最大識(shí)別流量
11001 不支持的語(yǔ)音識(shí)別格式
11002 不支持的語(yǔ)音識(shí)別采樣率
11003 不支持的語(yǔ)音識(shí)別聲道
11004 不支持的語(yǔ)音上傳類型
11005 不支持的語(yǔ)言類型
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í)別圖片類型
12006 圖片無(wú)匹配結(jié)果
13001 不支持的角度類型
13002 不支持的文件類型
13003 表格識(shí)別圖片過(guò)大
13004 文件為空
13301 表格識(shí)別失敗
15001 需要圖片
15002 圖片過(guò)大(1M)
15003 服務(wù)調(diào)用失敗
17001 需要圖片
17002 圖片過(guò)大(1M)
17003 識(shí)別類型未找到
17004 不支持的識(shí)別類型
17005 服務(wù)調(diào)用失敗
-1000 未知錯(cuò)誤
-2000 查詢輸入為空

常見問(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.30 v1.2.0 有道智云 OCR Android SDK上線,支持中英文在線文字識(shí)別
2017.07.24 v1.3.0 修復(fù)已知 bug
2017.08.16 v1.4.0 1. 修復(fù)已知 bug
2. 提供多版本的 so 文件
2017.11.16 v1.5.0 支持非主線程調(diào)用
2019.11.01 v2.0.0 兼容多個(gè)包無(wú)法使用情況