更新记录
1.0.0(2022-04-11)
v1.0.0 --20220410
初次发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:7.0 - 9.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
简介
文通车牌识别插件,支持离线识别
标签
文通车牌识别 离线车牌识别
注意
本插件只对SDK进行了封装,激活码请联系文通销售获取
版本
需定制开发请联系:QQ: 1025825641
v1.0.0 --20220410
已支持车牌识别
插件集成方法
注意
打包时需要在manifest.json中勾选LivePusher(直播推流)模块
方法列表
方法 | 参数 | 说明 |
---|---|---|
initActivateService | (JSON, callback) | 初始化激活服务,初次激活需要联网,后续可离线使用,第一个参数为后续版本预留,可为{},第二个为回调函数 |
execActive | (JSON, callback) | 激活,第一个是JSON格式的参数列表,需要提供activateSN参数,回调返回的参数是一个JSON格式的字符串 |
initRecogService | (JSON, callback) | 初始化识别服务,第一个参数为后续版本预留,可为{},第二个为回调函数 |
ocr | (JSON, callback) | 识别,第一个是JSON格式的参数列表,具体看下文「识别参数说明」,回调返回的参数是一个JSON格式的字符串 |
状态通知
使用时,需要监听广播来接收打印状态通知,参考代码如下:
let filter = new IntentFilter();
filter.addAction("com.violin.ucocr.broadcast")
广播数据包含三个字段,第一个是文本字段code,固定值为0,第二个是文本字段type,可选值acBinderServiceConnect(激活服务)或recogBinderServiceDisconnect(识别服务), 第三个是文本字段message,用于描述信息
识别参数说明
参数 | 类型 | 说明 |
---|---|---|
imageType | String | 图片类型,目前仅支持JPEG,可选值jpeg |
imagePath | String | 待识别图片路径 |
width | int | 待识别图片宽度 |
height | int | 待识别图片高度 |
plateRotate | int | 待识别图片方向,固定为0 |
plateLeft | int | 待识别图片中扫描框的左上角横坐标 |
plateTop | int | 待识别图片中扫描框的左上角纵坐标 |
plateRight | int | 待识别图片中扫描框的右下角横坐标 |
plateBottom | int | 待识别图片中扫描框的右下角纵坐标 |
initRecogService函数返回代码表
代码 | 说明 |
---|---|
0 | 成功 |
-10002 | 程序未激活 |
-10003 | 初始化失败,请检查模型文件是否存在 |
-10004 | 模型文件操作失败 |
-276 | 没有找到相应的本地授权许可数据文件,请检查程序是否激活! |
-1793 | 授权文件已过期,请重新申请授权! |
-8192 | 芯片授权,没有检查到芯片路径,请检查芯片是否载入 |
-8193 | 读取芯片信息失败,请检查芯片是否装载或者未装载! |
-8194 | 芯片信息错误 |
-8195 | 读取授权文件失败,检查授权文件是否存在或者完好! |
-8196 | 授权文件为非法文件 |
-8197 | 参数为无效参数 |
ocr识别函数返回代码表
识别结果为字符串数组,数组中的内容下标从0 到9 含义如下表
类型 | 名称 | 说明 | 备注 |
---|---|---|---|
String | plate_number | 车牌号 | |
String | plate_color | 车牌颜色 | |
String | plate_color_code | 车牌颜色编码 | 0 未知 1 蓝底白字 2 黄底黑字 3 白底黑字 4 黑底白字 5 绿色白字 6 绿地黑字 7 黄绿地黑字 |
String | plate_type_code | 车牌类型代码 | 0 未知 1 蓝牌车 2 单层黄牌车 4 警车 8 武警车牌 16 双层黄牌车 32 摩托车 64 教练车 128 军车 256 个性化车 1024 使馆车 2048 老式车牌(不反光) 8192 新能源车牌 |
String | plate_reliability | 车牌可信度 | 取值: -15~28 |
String | plate_leftupper_pointX | 车牌左上横坐标 | |
String | plate_leftupper_pointY | 车牌左上纵坐标 | |
String | plate_rightdown_pointX | 车牌右下横坐标 | |
String | plate_rightdowm_pointY | 车牌右下纵坐标 |
使用方法
1.引入模块
const vioUCOcr = uni.requireNativePlugin('violin-ucocr');
2.初始化激活服务
vioUCOcr.initActivateService({}, result => {
const msg = JSON.stringify(result);
uni.showModal({
title: '打开激活服务',
content: msg
});
});
3.执行激活
vioUCOcr.activateSN({activateSN: this.activecode},
result => {
const msg = JSON.stringify(result);
uni.showModal({
title: '执行激活',
content: msg
});
}
);
4.初始化识别服务
vioUCOcr.initRecogService({}, result => {
const msg = JSON.stringify(result);
uni.showModal({
title: '打开识别服务',
content: msg
});
});
4.执行识别
vioUCOcr.ocr(
{
imageType: 'jpeg',
width: myImageWidth,
height: myImageHeight,
plateRotate: 0,
plateLeft: myImageWidth / 2 - ((myCameraWidth / 4) * myImageWidth) / myCameraWidth,
plateRight: myImageWidth / 2 + ((myCameraWidth / 4) * myImageWidth) / myCameraWidth,
plateTop: myImageHeight / 2 - ((myCameraWidth / 4) * myImageHeight) / myCameraHeight,
plateBottom: myImageHeight / 2 + ((myCameraWidth / 4) * myImageHeight) / myCameraHeight,
imagePath: e.data.message.tempImagePath
},
result => {
const msg = JSON.stringify(result);
uni.showModal({
title: '识别服务',
content: msg
});
}
);