查词接口说明
<h3>概述</h3>
<p>该部分接口的入口类为 <strong>SdkManager</strong>,在调用该部分接口前,需要打开sdk和license认证通过,否则有可能会导致部分功能无法正常work。</p>
<h3>*.自定义机型</h3>
<p>如有需要自定义设备机型的,可调用该方法,<strong><code>在初始化SDK前调用</code> </strong>,自定义型号需跟原机型不一致,参数:String (字母需要小写,不支持特殊字符),该方法用于同一机型,但是出图不一致时使用</p>
<pre><code class="language-java">    /**
     * 这两个方法都可以自定义设备id
     */
    DeviceUtils.customizeDeviceID(&quot;adc_888&quot;);
    VTBaseConfigure.customizeDeviceID(&quot;adc_888&quot;);</code></pre>
<h3>1.初始化SDK</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java">    /**
     * 初始化SDK
     * @param context
     */
    public void init(Context context , boolean isOwnPoint)</code></pre>
<p><strong>备注:</strong></p>
<p>初始化Sdk,isOwnPoint需设置为true,设置false会导致查词无法正常运行</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>
在开启查词前必须先进行登录验证,确认初始化成功,如果初始化失败请查看(onInitFail(long code, String msg))该方法的信息([错误码信息](<a href="https://www.showdoc.com.cn/visiontalk/2174432568790235">https://www.showdoc.com.cn/visiontalk/2174432568790235</a> "错误码信息")),以便排查原因。</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>在onPreview方法中调用该方法进行识别,可在onPreview中保存图像进行分析,预览流回传较快,建议3秒左右保存一次图片
<strong>接口名称:</strong></p>
<pre><code class="language-java">    /**
     *
     * @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>;</p>
<h3>4. 设置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>4.1  IFingerCallback介绍</h4>
<p>IFingerCallback是获取手指结果的返回调用接口</p>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java">public interface IFingerCallback {
    /**
     * 成功检测到手指
     */
    void onDictFingerSuccess();
    /**
     * 手指检测成功
     * @param image 获取手指那一帧
     * @param imageWidth
     * @param imageHeight
     * @param mPoint 手指的相对坐标点(手指的像素坐标对应的书本位置坐标)
     */
    void onFingerSuccess(byte[] image, int imageWidth, int imageHeight, Point mPoint);
    /**
     * 检测手指失败
     * @param code 错误码
     * @param error 错误信息
     */
    void onFingerFail(int code, String msg);
}</code></pre>
<p><strong>备注:</strong>
1.获取得到手指坐标接口  onFingerDetectSuccess :(absolutePoints[0].x,absolutePoints[0].y)
2.onFingerImage 接口返回的是获取手指的那一帧预览图</p>
<h3>5 设置取词回调</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>5.1 IVTOCRCallback介绍</h4>
<p>该回调类用于监听查词回调,接口类如下:</p>
<pre><code class="language-java">public interface IVTOCRCallback {
    /**
     * 取词成功返回结果
     * @param mVTOCRBean
     * @param x 手指x坐标
     * @param y 手指y坐标
     * @param time 时间戳
     */
    void onVTDictSuccess(VTOCRBean mVTOCRBean, double x, double y, long time);
    /**
     * 查词失败
     * @param code 错误码
     * @param error 错误信息
     */
    void onVTDictError(int code, String error);
}</code></pre>
<h4>5.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>
</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>6 设置词典类型</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>7 文本调用词典</h3>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java">    /**
     * 调用词典
     * @param word 词典文本
     */
    void translate(String word);</code></pre>
<h3>8 设置词典回调</h3>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java">    /**
     * 设置翻译回调
     * @param mITranslateCallback
     */
    void setITranslateCallback(ITranslateCallback mITranslateCallback);</code></pre>
<p><strong>备注:</strong>
词典返回是在ITranslateCallback这个回调产生</p>
<h4>8.1 设置ITranslateCallback</h4>
<p>该回调类用于监听词典回调,接口类如下:</p>
<pre><code class="language-java">public interface ITranslateCallback {
    /**
     * 格灵词典返回
     * @param entity
     */
    void onGlTranslateSuccess(TranslateEntity entity);
    /**
     * 玩瞳词典返回
     * @param entity
     */
    void onVtTranslateSuccess(VTTranslateEntity entity);
    void onTranslateFail(int code, String msg);
}</code></pre>
<h3>9. 释放</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java">    /**
     * 注销
     */
    public void destroy()</code></pre>