五月天综合,国产97成人亚洲综合在线观看,99九九无码人妻,艳妇臀荡乳欲伦69调教视频

幫助與文檔 > 產(chǎn)品文檔 > 自然語言翻譯服務(wù) > IOS_SDK文檔 > 圖片翻譯
圖片翻譯

圖片翻譯 IOS SDK 簡介

概述

(1) 概念解釋

圖片翻譯:基于文字識別與文本翻譯技術(shù),結(jié)合組段和渲染技術(shù),滿足用戶翻譯圖片文字的需求,提升輸入效率

(2) 說明

Hi,您好,歡迎使用有道智云圖片翻譯iOS SDK。

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

本文檔主要針對需要集成圖片翻譯服務(wù)iOS SDK的開發(fā)工程師,詳細(xì)描述有道智云圖片翻譯能力及集成過程。

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

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

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

客服QQ:1906538062

智云翻譯技術(shù)交流QQ 1群: 652880659

智云翻譯技術(shù)交流QQ 2群: 669384425

智云翻譯技術(shù)交流QQ 3群: 807539209

智云翻譯技術(shù)交流QQ 4群: 936752411

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

溫馨提示:
本文檔主要針對開發(fā)人員,接入測試前需要在后臺創(chuàng)建iOS應(yīng)用,并綁定圖片翻譯實例;如果您還沒有,請按照新手指南 操作。
平臺向每個賬戶贈送50元的體驗金,供用戶集成前測試所用,具體資費(fèi)規(guī)則詳見圖片翻譯服務(wù)報價

功能介紹

有道圖片翻譯 SDK 是有道智云開放平臺提供的云服務(wù)之一,是有道在線圖片翻譯接口的一種實現(xiàn),支持在線圖片翻譯。

兼容性

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

圖片翻譯SDK集成指南

集成前提

開始集成SDK之前開發(fā)者需要登錄有道智云平臺 ,創(chuàng)建應(yīng)用獲取應(yīng)用ID(或者通過運(yùn)營人員獲取應(yīng)用ID),以便使用翻譯服務(wù)。

集成步驟

SDK包導(dǎo)入

翻譯SDK由如下幾個SDK組成,用戶可根據(jù)需要組合使用:

文件說明
FanYiSDK.h頭文件(必選)
libbase.a圖片翻譯相關(guān)sdk基礎(chǔ)庫(必選)
libocrtrans.a在線圖片翻譯 SDK(必選,使用在線圖片翻譯時使用)
  1. 添加頭文件和庫文件:將 translateSDK 添加到工程中,包括 FanYiSDK.h 頭文件和 libFanYiSDK.a 文件??梢灾苯訉?translateSDK 文件夾拖動到工程中,也可以選擇File “Add files to ‘Project Name’…”
  2. 設(shè)置工程 Other Linker Flags 為 -ObjC

Alt

  1. 若使用離線功能,修改工程中任意一個類后綴名為 .mm,參見 demo 中 ViewController.mm,Xcode 10.0之前的版本需要添加libstc++.6.0.9.tbd,Xcode 10.0及以上版本需要設(shè)置C++ Standard Library為libc++;若未使用離線功能可跳過此步驟;

Alt

  1. 在工程build Phases – Link Binary With Libraries中添加libFanYiSDK.a, AdSupport.framework, CoreTelephony.framework, SystemConfiguration, libz.tbd和libsqlite3.tbd。如下:

Alt

SDK初始化

說明:所有的查詢都需要初始化appKey(應(yīng)用ID),只執(zhí)行初始化一次即可。
注:appKey即應(yīng)用ID

//初始化appKey(應(yīng)用ID)
YDTranslateInstance *yd = [YDTranslateInstance sharedInstance];
yd.appKey = @"your appkey";

功能集成

說明:請參考 demo 中 OCRTransController 的使用

  1. 構(gòu)造查詢器
YDOCRTransRequest *request = [YDOCRTransRequest request];
YDOCRTransParameter *param = [YDOCRTransParameter param];
param.from = @"en"; //設(shè)置源語言
param.to = @"zh-CHS"; //設(shè)置目標(biāo)語言
param.serverRenderImage = YES; //設(shè)置服務(wù)端渲染
request.param = param;
  1. 將圖片轉(zhuǎn)化為base64編碼
NSString *base64Str = [self image2DataURL:self.imgView.image];
  1. 執(zhí)行翻譯過程

識別返回兩種情況,一種是成功,相關(guān)結(jié)果存儲在 result 參數(shù)中,另外一種是失敗,失敗信息放在 error,可根據(jù) 錯誤代碼列表 查詢。整個識別是異步的。

request lookup:base64Str WithCompletionHandler:^(YDOCRTransRequest *request, NSDictionary *info, NSError *error) {
    if (error) {
        //失敗
        NSLog(@"error:%@", error);
        [HUDUtil show:self.view text:@"識別失敗"];
    }else {
            //成功
        YDOCRTransResult *result = [YDOCRTransResult mj_objectWithKeyValues:info];
        NSLog(@"%@", result);
        [HUDUtil show:self.view text:@"識別成功"];
        [self handleOCRTransReuslt:result];
    }
}];

翻譯結(jié)果說明

對于在線圖片翻譯,服務(wù)器查詢結(jié)果返回數(shù)據(jù)如下:

{
    "orientation": "Up",
    "lanFrom": "en",
    "textAngle": "0.0",
    "errorCode": "0",
    "lanTo": "zh-CHS",
    "render_image": "...."
    "resRegions": [{
        "boundingBox": "134,0,1066,249",
        "linesCount": 7,
        "lineheight": 28,
        "context": " There are two ways to cope with the problem in government. One (dis cussed in the preceding chapter) is to supply the service or product in a marketlike environment. Shift the burden of evaluation off the shoulders of professional evaluators and onto the shoulders of clients and customers, and let the latter vote with their feet. The \"client\" in these cases can be individual citizens or government agencies; what is important is that the client be able to choose from among rival suppliers.",
        "linespace": 7,
        "tranContent": "有兩種方法可以在政府應(yīng)對的問題。一個(在前一章討論)是提供的服務(wù)或產(chǎn)品marketlike環(huán)境。肩上的負(fù)擔(dān),轉(zhuǎn)變評價專業(yè)評估和客戶的肩膀上,并讓后者用腳投票?!翱蛻簟痹谶@些情況下可以公民個人或政府機(jī)構(gòu);重要的是客戶端可以選擇從競爭對手的供應(yīng)商。"
    }, {
        "boundingBox": "116,253,1100,354",
        "linesCount": 10,
        "lineheight": 28,
        "context": " But some public services cannot be supplied, or arc never going to be sup plied, by a market. We can imagine allowing parents to choose among schools but we cannot imagine letting them choose (at least for most purposes) among police departments or armies. In that case one should adopt the second way of evaluating a public service: carry out a demonstration project or conduct a field experiment. (I will use the two ideas interchangeably, though some schol ars distinguish between them.7) An experiment is a planned alteration in a state of affairs designed to measure the effect of the intervention. It involves asking the question, \"If I change X, what will happen to Y, having first made certain that everything else stays the same?\" It sounds easy, but it is not.",
        "linespace": 5,
        "tranContent": "但是一些公共服務(wù)不能提供,或弧永遠(yuǎn)不會一口招搖撞騙,由一個市場。我們可以想象允許父母選擇在學(xué)校但是我們無法想象讓他們選擇(至少在大多數(shù)情況下)在警察部門或軍隊。在這種情況下應(yīng)該采用第二種方法評價公共服務(wù):開展示范項目或進(jìn)行現(xiàn)場試驗。(我將使用兩個概念互換,盡管有些schol ars區(qū)分them.7)一個實驗計劃變更的狀態(tài)設(shè)計測量干預(yù)的效果。它涉及到問這個問題:“如果我改變X,Y,會發(fā)生什么在第一次確信一切保持不變嗎?”這聽起來容易,但事實并非如此。"
    }, {
        "boundingBox": "101,609,1141,152",
        "linesCount": 4,
        "lineheight": 28,
        "context": " A good experiment (bad ones are worse than no experiment at all) requires that one do the following: First, identify a course of action to be test ed; call it the treatment. A \"treatment\" can be a police tactic, a school cur riculum, or a welfare program. Second, decide what impact the treatment is",
        "linespace": 5,
        "tranContent": "一個好的實驗(壞的比任何實驗)要求執(zhí)行以下操作:首先,確定一個測試ed的行動;叫它治療?!爸委煛笨梢允且粋€警察戰(zhàn)術(shù),一個學(xué)校cur riculum,或福利計劃。第二,決定什么是影響治療"
    }]
}

render_image 是服務(wù)端渲染過的翻譯圖片

服務(wù)器是按照區(qū)域,行,字的格式返回的,即一張圖片會識別出圖片對應(yīng)的 Result,其上可能有多個區(qū)域 Region,每個區(qū)域會包含一行或多行 Line,boundingBox 字段返回坐標(biāo)和大小。 SDK 對上述 json 數(shù)據(jù)解析封裝為 YDOCRTransResult 對象,如下:

@interface YDOCRTransResult : NSObject
/* 錯誤碼 */
@property (nonatomic, copy) NSString *errorCode;
/* ocr所識別出來認(rèn)為的圖片中的語言 */
@property (nonatomic, copy) NSString *lanFrom;
/* 目標(biāo)語言 */
@property (nonatomic, copy) NSString *lanTo;
/* 圖片所對應(yīng)的方向 */
@property (nonatomic, copy) NSString *orientation;
/* 圖片翻譯的具體內(nèi)容 */
@property (nonatomic, strong) NSArray *resRegions;
/* 圖片的傾斜角度 */
@property (nonatomic, copy) NSString *textAngle;
/* 原始數(shù)據(jù) */
@property (nonatomic, strong) NSDictionary *info;

+ (instancetype)initWithDict:(NSDictionary *)info;
@end

@interface YDOCRTransRegion : NSObject
/* 區(qū)域范圍,四個值:左上角的x值,左上角的y值,區(qū)域的的寬,區(qū)域的高,例如:134,0,1066,249 */
@property (nonatomic, copy) NSString *boundingBox;
/* 該區(qū)域的原文 */
@property (nonatomic, copy) NSString *context;
/* 行高 */
@property (nonatomic, copy) NSString *lineheight;
/* 行數(shù)(用于前端排版) */
@property (nonatomic, copy) NSString *linesCount;
/* 翻譯結(jié)果 */
@property (nonatomic, copy) NSString *tranContent;
/* 行間距 */
@property (nonatomic, copy) NSString *linespace;

+ (instancetype)initWithDict:(NSDictionary *)info;
@end

支持語言

語言代碼
中文zh-CHS
日文ja
英文en
韓文ko
法文fr
俄文ru
葡萄牙文pt
西班牙文es
越南文vi
德文de
阿拉伯文ar
印尼文id
自動識別auto

錯誤代碼列表

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

常見問題及注意事項

1.運(yùn)行程序崩潰?
檢查下是否對應(yīng)的 SDK靜態(tài)庫包 是否放到當(dāng)前工程目錄下。

2.翻譯沒結(jié)果?
檢查下翻譯接口回調(diào)的錯誤信息,保證申請的應(yīng)用ID是有效且提前綁定了。

3.添加翻譯 SDK 之后審核沒有通過?
翻譯 SDK 使用了 AdSupport 框架獲取設(shè)備 IDFA 信息用以統(tǒng)計計費(fèi),提交審核時對應(yīng)用是否有廣告選項請選擇“是”。

版本更新記錄

上線日期版本號更新內(nèi)容
2017.05.08v1.0.0有道智云翻譯 iOS SDK上線,支持在線離線翻譯
2017.06.07v1.1.01. 拆分翻譯 SDK,SDK 拆分為多個文件,用戶可根據(jù)需要引用
2. 修復(fù)已知 bug
2017.06.30v1.2.0修復(fù)已知 bug
2017.07.24v1.3.01. 修復(fù) deeplink 相關(guān) bug
2017.08.16v1.4.01. 修復(fù)已知 bug
2018.02.09v1.7.0支持在線語音翻譯
2018.05.16v1.7.2支持在線圖片翻譯