查词翻译接口
<h3>概述</h3>
<p>该部分接口的入口类为 <strong>SdkManager</strong>,在调用该部分接口前,需要打开sdk和license认证通过,否则有可能会导致部分功能无法正常work。</p>
<h3>1.初始化SDK</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java"> /**
* 初始化SDK
* @param context
* @param isOwnPoint (true:使用自身获取手指坐标,false:自身不获取手指坐标,默认为true)
*/
public void init(Context context,boolean isOwnPoint)</code></pre>
<p><strong>备注:</strong></p>
<p>初始化</p>
<h3>2. 初始化License</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java"> /**
* license初始化
* @param License
* @param callback
*/
public void initLicense(String License , final InitializeCallback callback);</code></pre>
<p><strong>备注:</strong></p>
<p>在开启查词前必须先初始化成功。</p>
<h4>2.1 InitializeCallback介绍</h4>
<p>InitializeCallback是初始化结果的返回调用接口,有两个方法onInitFail 和 onInitSuccess;</p>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java"> /**
* 初始化失败
* @param errCode 错误码
* @param msg
*/
void onInitFail(int errCode, String msg);
/**
* 初始化成功后设置识别参数 默认false 设置true忽略SDK内部参数配置 需外 部设置 目前只支持false
*/
boolean onSetupParamsBeforeSuccess();
/**
* 初始化成功
*/
void onInitSuccess();</code></pre>
<h3>3. 开始识别</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java"> /**
* isOwnPoint 为true 时调用
* @param data 图片数据
* @param prewidth 预览图像宽
* @param preheight 预览图像高
*/
public void startOCRRecognize(final byte[] data, final int width, final int height)</code></pre>
<p><strong>备注:</strong>
1、<strong>获取相机参数:(以下参数需要在license初始化成功后获取)
相机Id : DeviceConfig.get().getCameraId()
预览分辨率width : DeviceConfig.getOCRHwWidth()
预览分辨率height : DeviceConfig.getOCRHwHeight();</strong>
2、<strong>确保预览图像分辨率在500w以上,过低分辨率影响识别效果!!取预览最高分辨率为佳!!</strong>;
3、<strong>确保后台服务中开启了在线手指或离线手指服务!!</strong>;
4、<strong><code>在线手指和离线手指的切换由license控制!!</code> </strong>;
5、<strong>isOwnPoint 为true 时调用</strong>
6、<strong>isOwnPoint为true时 使用sdk中的方法获取手指坐标</strong></p>
<h3>4. 识别ocr</h3>
<pre><code class="language-java"> /**
* isOwnPoint 为false 时调用
* @param image 原图
* @param width 原图宽
* @param height 原图高
* @param pixel_format 图类型
* @param fingerX 手指坐标 x
* @param fingerY 手指坐标 y
*/
void startRecognizePicture(byte[] image, int width, int height, int pixel_format, float fingerX, float fingerY);</code></pre>
<p><strong>备注:</strong>
1、<strong>isOwnPoint 为false 时调用</strong>
2、<strong>isOwnPoint为false时 使用外部手指坐标</strong></p>
<h3>5. 设置IFingerCallback</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java"> /**
* 设置手指坐标回调
* @param mIFingerCallback
*/
void setIFingerCallback(IFingerCallback mIFingerCallback);</code></pre>
<p><strong>备注:</strong></p>
<p>手指是在IFingerCallback这个回调产生</p>
<h4>5.1 IFingerCallback介绍</h4>
<p>IFingerCallback是获取手指结果的返回调用接口</p>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java">public interface IFingerCallback {
/**
* 获取手指那一帧
* @param image
* @param width
* @param height
* @param mPoint 坐标点
*/
void onFingerSuccess(byte[] image, int imageWidth, int imageHeight, Point mPoint);
/**
* 成功检测到手指
*/
void onDictFingerSuccess();
/**
* 检测手指失败
* @param code 错误码
* @param error 错误信息
*/
void onFingerFail(int code, String msg);
}</code></pre>
<h3>6 设置取词回调</h3>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java"> /**
* 设置OCR回调
* @param mIVTOCRCallback
*/
void setIVTOCRCallback(IVTOCRCallback mIVTOCRCallback);</code></pre>
<p><strong>备注:</strong>
取词返回是在IVTOCRCallback这个回调产生</p>
<h4>6.1 IVTOCRCallback介绍</h4>
<p>该回调类用于监听查词回调,接口类如下:</p>
<pre><code class="language-java">public interface IVTOCRCallback {
/**
* 取词成功返回结果
* @param mVTOCRBean
* @param x 手指x坐标
* @param y 手指y坐标
* @param id 时间戳
*/
void onVTDictSuccess(VTOCRBean mVTOCRBean, double x, double y, long id);
/**
* 查词失败
* @param code 错误码
* @param error 错误信息
*/
void onVTDictError(int code, String error);
}</code></pre>
<h4>6.2 onVTDictSuccess</h4>
<p>该回调为查词成功的回调
<strong> VTOCRBean类</strong></p>
<table>
<thead>
<tr>
<th>属性</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>word</td>
<td>WordBean</td>
<td>单词结果</td>
</tr>
<tr>
<td>infos</td>
<td>InfosBean</td>
<td>切图信息</td>
</tr>
</tbody>
</table>
<p><strong> WordBean类</strong></p>
<table>
<thead>
<tr>
<th>属性</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>word</td>
<td>String</td>
<td>单词结果</td>
</tr>
<tr>
<td>bbox</td>
<td>String</td>
<td>框坐标</td>
</tr>
<tr>
<td>lang_type</td>
<td>String</td>
<td>en:英文,zh_CN:中文 , digit:数字</td>
</tr>
<tr>
<td>terms</td>
<td>String</td>
<td>目标中文词组,不一定会返回</td>
</tr>
<tr>
<td>word_list</td>
<td>List<WordList></td>
<td>词语列表(词组和类型)</td>
</tr>
</tbody>
</table>
<p><strong> WordList类</strong></p>
<table>
<thead>
<tr>
<th>属性</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>type</td>
<td>int</td>
<td>0是单字,1是词组</td>
</tr>
<tr>
<td>words</td>
<td>String</td>
<td>单字或词组</td>
</tr>
</tbody>
</table>
<p><strong> InfosBean类</strong></p>
<table>
<thead>
<tr>
<th>属性</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>x</td>
<td>int</td>
<td>坐标x</td>
</tr>
<tr>
<td>y</td>
<td>int</td>
<td>坐标y</td>
</tr>
<tr>
<td>ocr_time</td>
<td>double</td>
<td>算法ocr时间(s)</td>
</tr>
</tbody>
</table>
<h3>7 设置词典类型</h3>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java">
/**
* 设置词典类型
* @param wordType
*/
void setWordType(WordType wordType);</code></pre>
<p><strong> WordType类</strong></p>
<table>
<thead>
<tr>
<th>属性</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>EN</td>
<td>int</td>
<td>英汉词典</td>
</tr>
<tr>
<td>ZH</td>
<td>int</td>
<td>汉语词典</td>
</tr>
</tbody>
</table>
<h3>8 文本调用词典</h3>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java"> /**
* 调用词典
* @param word 词典文本
*/
void translate(String word);</code></pre>
<h3>9 设置词典回调</h3>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java"> /**
* 设置翻译回调
* @param mITranslateCallback
*/
void setITranslateCallback(ITranslateCallback mITranslateCallback);</code></pre>
<p><strong>备注:</strong>
词典返回是在ITranslateCallback这个回调产生</p>
<h4>9.1 设置ITranslateCallback</h4>
<p>该回调类用于监听词典回调,接口类如下:</p>
<pre><code class="language-java">public interface ITranslateCallback {
/**
* 翻译错误信息
* @param code
* @param msg
*/
void onTranslateFail(int code, String msg);
/**
* 翻译结果
* @param result
*/
void onGLTransSuccess(GLDataResult<GLDataBean> result);
}</code></pre>
<h4>9.2 onGLTransSuccess</h4>
<p>该回调为查词翻译成功的回调
<strong> GLDataResult类</strong>
GLDataBean 有三个子类
GLTransEnBean :英文翻译结果
GLTransZhBean : 中文翻译结果
GLTransZhTermBean : 中文词组结果</p>
<h3>10. 释放资源</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java"> /**
* 注销
*/
public void destroy()</code></pre>