玩瞳文档中心


点学接口说明

<h3>概述</h3> <p>该部分接口的入口类为 <strong>SdkManager</strong>,在调用该部分接口前,需要打开sdk和license认证通过,否则有可能会导致部分功能无法正常work。</p> <h3>1.初始化SDK</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * @param context * @param preWidth 开启camera的预览流宽 * @param preHeight 开启camera的预览流高 */ public SdkManager(Context context, int preWidth, int preHeight)</code></pre> <p><strong>备注:</strong></p> <p>初始化</p> <h3>2. 初始化License</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java"> 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. 设置IOCRCallback</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">public void setIocrCallback(IOCRCallback callback)</code></pre> <p><strong>备注:</strong></p> <p>手指和ocr词语都是在IOCRCallback这个回调产生</p> <h4>3.1 IOCRCallback介绍</h4> <p>IOCRCallback是初始化结果的返回调用接口</p> <p><strong>方法名称:</strong></p> <pre><code class="language-java"> /** * ocr识别成功 * @param data 识别结果 * @param bmp 裁图图像 * @param x 裁图的手指坐标x * @param y 裁图的手指坐标y */ void onOCRSuccess(VTOcrResult data, byte[] bmp, int x, int y); /** * ocr识别失败 * @param error 识别失败信息 */ void onOCRError(String error); /** * 手指识别成功 * @param src * @param dst * @return true 走SDK内部流程 false不走 */ boolean onFingerSuccess(Point2f[] src,Point2f[] dst); /** * 手指识别失败 * @param code * @param error */ void onFingerError(int code ,String error); /** * 书本识别成功 * @param data */ void onBookRecognize(VTBRBookDataModel data); /** * 书本识别失败 * @param code * @param error */ void onBookRecognizeFail(int code ,String error); ···/** * 将要加载书本点读资源 */ void willOnLoadBookResources(); /** * 加载书本点读资源完成 */ void onLoadedBookResource();</code></pre> <p><strong>备注:</strong></p> <p><strong> VTBRBookDataModel类</strong></p> <table> <thead> <tr> <th>属性</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>bookId</td> <td>int</td> <td>书本id</td> </tr> <tr> <td>pageId</td> <td>int</td> <td>书页id</td> </tr> <tr> <td>pageType</td> <td>int</td> <td>书页类型(1 封面、2封里、3扉页、4目录、5正文、6 辅文、7 封底里、8封底)</td> </tr> <tr> <td>pagination</td> <td>int</td> <td>页码</td> </tr> <tr> <td>physicalIndex</td> <td>int</td> <td><a href="https://www.showdoc.cc/visiontalk?page_id=2217068125466966">物理页码</a></td> </tr> <tr> <td>extraData</td> <td>String</td> <td>额外信息(即后台中用户输入的每页extraData信息)</td> </tr> <tr> <td>BookBean</td> <td>BookBean</td> <td>书本信息</td> </tr> <tr> <td>similarBooks</td> <td>List<SimilarBooksBean></td> <td>相似书本信息(sdk2.0版本新增)。当存在与被识别书本高度相似的书本时,SDK返回的书本识别结果可能是错误的。此时SDK将通过similarBooks属性返回所有相似书本的ID。对于有屏设备,开发者可以将这些书本显示在屏幕上供用户选择,并将选择结果通过setupManualBookId(见本文第七点)接口上报玩瞳,这将大大提高内页识别的准确性。</td> </tr> <tr> <td>elapsedTime</td> <td>long</td> <td>识别耗时</td> </tr> </tbody> </table> <p><strong> VTOcrResult类</strong></p> <table> <thead> <tr> <th>属性</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>framesBean</td> <td>FramesBean</td> <td>点读框信息</td> </tr> <tr> <td>rects</td> <td>String</td> <td>ocr外框信息</td> </tr> <tr> <td>text</td> <td>String</td> <td>ocr识别结果</td> </tr> <tr> <td>textId</td> <td>String</td> <td>文字ID</td> </tr> </tbody> </table> <h3>4. 设置配置</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * 设置外部手指偏移量及手指定位参数 * @param config */ public void initConfig(OCRConfig config)</code></pre> <p><strong>备注:</strong></p> <p><strong> OCRConfig类</strong></p> <table> <thead> <tr> <th>属性</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>xOffset</td> <td>float</td> <td>手指偏移量</td> </tr> <tr> <td>yOffset</td> <td>float</td> <td>手指偏移量</td> </tr> <tr> <td>thre</td> <td>float</td> <td>定位参数 默认0.04 (点距框距离)</td> </tr> <tr> <td>detectMode</td> <td>int</td> <td>定位策略 默认4</td> </tr> </tbody> </table> <h3>5. 设置点读总控开关</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * 设置 点读总控 true支持点读 默认在线 离线需单独设置 false 不支持点读 * @param isflag */ public void setFingerFlag(boolean isflag)</code></pre> <h3>6. 设置离线开关</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * 默认在线 * @param isOfflineOCR */ public void setOfflineFinger(boolean isOfflineOCR)</code></pre> <p><strong>备注:</strong> **确保后台服务中开启了离线手指服务!!;</p> <h3>7. 开始识别</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * * @param data 图片数据 * @param prewidth 预览图像宽 * @param preheight 预览图像高 */ public void startOCRRecognize(final byte[] data, final int prewidth, final int preheight)</code></pre> <p><strong>备注:</strong></p> <p>1、<strong>确保预览图像分辨率在500w以上,过低分辨率影响识别效果!!取预览最高分辨率为佳!!</strong>; 2、**确保后台服务中开启了在线手指服务!!;</p> <h3>8. 设置BookId</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * 人为设置BookId接口,用于代替封面识别 * * @param bookId */ public void setupBookId(int bookId)</code></pre> <h3>9. 人为设置BookId</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * 人为选择的BookId接口,用于准确识别书本内页 * * @param bookId */ public void setupManualBookId(int bookId)</code></pre> <h3>10. 重新识别</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * 重新上传识别 */ public void reRecognize()</code></pre> <h3>11. 开启OCR</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">/** * ocr开关 true 只获取点读框 false ocr获取框 * @param isGetFrame */ public void setFrame(boolean isGetFrame)</code></pre> <h3>12. 释放</h3> <p><strong>接口名称:</strong></p> <pre><code class="language-java">//注销 public void destroy()</code></pre>

页面列表

ITEM_HTML