玩瞳文档中心


查词接口说明

<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(&amp;quot;adc_888&amp;quot;); VTBaseConfigure.customizeDeviceID(&amp;quot;adc_888&amp;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> &quot;错误码信息&quot;)),以便排查原因。</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>

页面列表

ITEM_HTML