通用文字识别

功能说明

  • sdk型号:Raccoon 100-Common

  • 支持特性:

    通用文字识别

    识别方式:本地离线识别

  • 授权说明:

    授权方式:按设备台数终身授权,提交授权申请时需要提供设备SN和IMEI信息。

    开发测试请联系技术支持开通。(测试授权有效期:自开通之日一个月内有效)

    正常采购请联系商务下单采购。

  • 资源下载:

    点击下载SDK开发包

    点击下载iWord演示APP

1、 开发说明

1.1、开发流程:

  • 服务初始化
  • 拍照获取图片
  • 调用识别接口
  • 关闭接口

2、SDK 接口说明

2.1、获取SDK实例

Predictor predictor = Predictor.getInstance();

public Predictor getInstance();

参数    类型    说明          
输入参数
输出参数 predictor Predictor Predictor 实例

2.2、SDK授权激活

predictor.initModel(appCtx);

public boolean initModel(Context appCtx));

参数    类型    说明            
输入参数 context Context app运行Context
输出参数 result boolean true:授权成功
false:授权失败
 [备注]: 首次执行授权激活时需要连接网络,请在执行前确保网络联通,否则会授权失败。

2.3、检测授权状态

public int getModelState()

参数    类型    说明            
输入参数
输出参数 result int 0:初始化成功
-1:授权失败,
-2:模型加载失败,
-3:字典加载失败,

2.4、SDK释放

predictor.releaseModel();

void releaseModel()

参数 类型 说明
输入参数
输出参数  

2.5、文字识别-byte[]

public ArrayList runOcrPredictor(byte[] nv21, int w, int h, int rotate)

参数    类型    说明            
输入参数 nv21 byte[] Camera预览回调上来的图像数据nv21
w int 预览图像宽度
h int 预览图像高度
rotate int 预览图像需要旋转的角度
输出参数 ocrResults ArrayList 识别结果(详细考虑 4.2)

2.6、文字识别-Bitmap

public ArrayList runOcrPredictor(Bitmap image, int rotate);

参数    类型    说明            
输入参数 imaige Bitmap 图片的bitmap
rotate int 预览图像需要旋转的角度
输出参数 ocrResults ArrayList 识别结果

2.7、获取SDK名称

String getSDKName()

参数    类型    说明            
输入参数
输出参数 sdkNae String sdk名称

2.8、获取SDK版本号

String getVersionInfo()

参数    类型    说明            
输入参数
输出参数 sdkVersion String sdk版本

2.9、开关debug

void enableDebug(boolean enable)

参数    类型    说明            
输入参数 enable boolean true:打开debug功能
false:关闭debug功能
输出参数
[备注]: 打开debug时sdk开启详细日志,在调试时候使用。

3、开发集成

  • 请先将厂商提供的lib库加项目依赖路径,如下图:

​ Raccoon_100_common.aar

image-20211027101822232

  • Build.gradle中加增加如下配置:
dependencies {
     implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
}
  • AndroidManifest.xml配置权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
  • 需要在AndroidManifest.xml中增加如下配置方可访问网络(如下图:)
    • android:networkSecurityConfig="@xml/network_security_config"

  • network_security_config.xml中内容如下:

4、附录

4.1、错误代码说明

Code 说明 建议
0 成功
-1 授权失败 联系销售或者技术支持进行授权,需要提供SN和IMEI信息。
-2 模型加载失败
-3 字典加载失败

4.2、类说明

4.2.1、OcrResult类说明

public class OcrResult {

    public List<Point> points = new ArrayList();//坐标点

    public String result = "";//识别到内容

    public float confidence = 0.0F;//置信度

    public OcrResult() {
    }

    // 返回文字矩形框坐标点
    public List<Point> getPoints() {
        return this.points;
    }

    // 返回识别的文字
    public String getLabel() {
        return this.result;
    }

    // 获取置信度
    public float getConfidence() {
        return this.confidence;
    }
}

results matching ""

    No results matching ""