当前位置: 首页 > news >正文

一款支持身份证、驾驶证、护照、车牌等证件识别插件

CardOCR

证件识别是一个apk插件,为应用开发方提供身份证、驾驶证、车牌号、护照等的OCR识别服务,如通过扫描身份证,可以快速识别二代身份证上的身份证号等信息,并将这些信息返回给第三方应用。

最新版本的OCR识别库具备以下明显优势:

  1. 识别率大幅提高,车牌号和身份证正常情况下毫秒级完成识别,成功率达到99%以上。
  2. 车牌识别除了支持普通的蓝色、黄色、警用等车牌外,同时也支持新能源车牌。
  3. 驾驶证识别率大幅提升,证件识别实现自动对焦锁定,用户体验大幅提升。

使用指南

接口简介

证件识别APK为通过Activity意图调用的方式为业务应用提供服务。在调用接口方法前,务必保证识别库插件已经安装。

插件可以提示用户手动安装,也可由业务应用方内置,出发安装。插件的包名是:cn.lvzhulin.zjsb

组件所提供的接口调用方法都是通过隐试启动activity并结合onActivityResult方法回调实现结果的回传来实现的,

【示例代码】

Intent intent = new Intent(Action 名称,下面的接口详细调用中会阐述”);
Intent.putExtra(“pkgName”, “第三方应用(调用方)的包名”);
startActivityForResult(intent, REQUEST_CODE);

另外,API接口回传的数据结构有多种,包括直接返回部分数据信息,以及将所有识别的结果转换为json字符串后返回,调用方可以结合业务场景灵活选择处理。

接口描述

插件根据业务场景的不通提供两种调用方式,第一种是直接通过相机拍照识别的调用,另一种是通过扫描本地已经存在的图片来完成识别,调用方可以根据业务场景需求灵活选择。

身份证识别

Activity启动意图Action定义为: cn.lvzhulin.zjsb.sfzsb.action

【示例代码】

请求启动:

Intent intent = new Intent("cn.lvzhulin.zjsb.sfzsb.action");
Intent.putExtra(“pkgName”, “com.jarlen.app”);
/*身份证识别标识,
*传0或者不传表示是识别正面,
*传1表示识别反面*/
Intent.putExtra(“sfzbs”,1);
startActivityForResult(intent, 11);

结果返回:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode != RESULT_OK) {return;}if (requestCode == 11) {/*获取身份证号*/kString sfzh = data.getStringExtra("sfzh");/*json字符串包括姓名、性别、年龄、名族、身份证号、居住地址等所有信息*/String json = data.getStringExtra("json");}
}
字段描述
xm姓名
xb性别
mz名族
sfzh身份证号
csrq出生日期
csdz出生地址
blzd保留字段
-----------------------------------以下是身份证背面识别数据
qfjg签发机关
yxqx有效期限
qfrq签发日期
yxqz有效期至

车牌识别

Activity启动意图Action定义为: cn.lvzhulin.zjsb.cpsb.action

【示例代码】

请求启动

Intent intent = new Intent("cn.lvzhulin.zjsb.cpsb.action");
Intent.putExtra(“pkgName”, “包名”);
startActivityForResult(intent, 11);

结果返回

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode != RESULT_OK) {return;}if (requestCode == 11) {String number = data.getStringExtra("number"); String color = data.getStringExtra("color");}
}
字段描述
number车牌号
color车牌颜色

驾驶证识别

Activity启动意图Action定义为: cn.lvzhulin.zjsb.jszsb.action

【示例代码】

请求启动

Intent intent = new Intent("cn.lvzhulin.zjsb.jszsb.action");
Intent.putExtra(“pkgName”, “包名”);
startActivityForResult(intent, 11);

结果返回

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode != RESULT_OK) {return;}if (requestCode == 11) {/*包括姓名、性别、身份证号等所有信息*/String json = data.getStringExtra("json");}
}

结果json包括姓名、性别、身份证号等所有信息,通过JSONObject或转为Bean获取,主要字段参数描述如下:

字段描述
xm姓名
xb性别
sfzh身份证号
csrq出生日期
csdz出生地址
cslzrq初始领证日期
zjcx准驾车型
yxqqsrq有效期起始日期
yxjzrq有效截止日期
yxqx有效期限
blzd保留字段

护照识别

Activity启动意图Action定义为: cn.lvzhulin.zjsb.passport.action

【示例代码】

请求启动

Intent intent = new Intent("cn.lvzhulin.zjsb.passport.action");
Intent.putExtra(“pkgName”, “包名”);
startActivityForResult(intent, 11);

结果返回

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode != RESULT_OK) {return;}if (requestCode == 11) {/*获取所有信息*/String json = data.getStringExtra("data");}
}

结果json包括姓名、性别、身份证号等所有信息,通过JSONObject或转为Bean获取,主要字段参数描述如下:

字段描述
hzlx护照类型
hzhmmrz护照号码MRZ
bgxm本国姓名
ywxm英文姓名
xb性别
csrq出生日期
yxqz有效期至
qfgdm签发国代码
ywx英文姓
ywm英文名
mrz1MRZ1
mrz2MRZ2
czrgjdm持证人国籍代码
hzhm护照号码
csdd出生地点
qfdd签发地点
qfrq签发日期
rfid_mrzRFID MRZ
ocr_mrzOCR MRZ
csddpy出生地点拼音

浏览本地图片识别

Activity启动意图Action定义为: cn.lvzhulin.zjsb.picture.action

【代码示例】

Intent intent = new Intent(“cn.lvzhulin.zjsb.picture.action”); //action名称
intent.putExtra(“pkgName”, “调用方的包名”);
intent.putExtra(“picture_type”, type);//type是业务类型,下面会定义
intent.putExtra(“path”, filepath);//path是图片的存储路径,包括文件名
startActivityForResult(intent, REQUEST_CODE);

其中type定义如下:

type类型名称传入值
识别车牌1
识别身份证2
识别驾照3
识别护照4

通过onActivityForResult获取,通过intent.getIntExtra(“type”)获取业务类型,然后根据以上每一个业务定义的返回结果标识来获取结果,

例如:调用接口传入本地的车牌号图片路径识别车牌号:

Intent intent = new Intent(“cn.lvzhulin.zjsb.picture.action”); 
intent.putExtra(“pkgName”, “调用方的包名”);
intent.putExtra(“picture_type”, 1); //1标识识别车牌
intent.putExtra(“path”, “图片路径”);//车牌号图片存储路径
startActivityForResult(intent, REQUEST_CODE);

结果返回:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode != RESULT_OK) {return;}if (requestCode == 11) {int type = data.getIntExtra("type", 0);if (type == 0) { //type是0表示识别失败/*识别失败*/} else if (type == 1) { //type是1表示识别车牌String number = data.getStringExtra("number"); //获取车牌号信息String color = data.getStringExtra("color");//获取车牌颜色}}
}

数据获取成功后,可以参考【车牌识别】结果来处理;
**注意!**如果获取到的type值是0,标识识别失败!

使用授权

授权信息

使用前,需提供调用方信息,具体如下:

类别说明
调用方应用签名可通过命令’keytool -printcert -jarfile xxx.apk’或其他工具读取
应用包名与build.gradle中配置的applicationId一致

费用说明

类别描述
按应用99元/年
按签名298元/年
终身698元/年

定制服务

类别描述
定制UI按照定制UI需求范围,评估投入进行收费
新增功能按照定制需求范围,评估投入进行收费
    |

费用说明

类别描述
按应用99元/年
按签名298元/年
终身698元/年

定制服务

类别描述
定制UI按照定制UI需求范围,评估投入进行收费
新增功能按照定制需求范围,评估投入进行收费

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【iOS】属性关键字
  • 爬取知乎回答
  • Unity(2022.3.41LTS) - 着色器
  • vulnhub靶场-DC2
  • 使用Blender云渲染的好处是什么?
  • 滚雪球学MyBatis-Plus(04):基础配置
  • 如何用Java SpringBoot打造助农捐赠平台?2025年25届毕业生必看+最新设计实现攻略!
  • Spring Cloud Gateway整合基于STOMP协议的WebSocket实战及遇到问题解决
  • Catia二次开发“CAAV5-ERROR: unauthorized API for CAA V5”错误
  • Docker 修改镜像源
  • 公司电脑的敏感文件怎么审查?分为六步,步步为营,保护文件不泄密
  • 联蔚盘云亮相CDIE消费品行业峰会
  • LABVIEW数据保存文件
  • springboot整合logback进行日志管理(下篇)
  • 连接型CRM+智能制造,助力医疗器械企业高质量发展
  • 【5+】跨webview多页面 触发事件(二)
  • ESLint简单操作
  • HashMap ConcurrentHashMap
  • Iterator 和 for...of 循环
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java小白进阶笔记(3)-初级面向对象
  • Linux链接文件
  • Making An Indicator With Pure CSS
  • nfs客户端进程变D,延伸linux的lock
  • Spring-boot 启动时碰到的错误
  • VUE es6技巧写法(持续更新中~~~)
  • 当SetTimeout遇到了字符串
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端知识点整理(待续)
  • 微信开源mars源码分析1—上层samples分析
  • 详解NodeJs流之一
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (1)(1.13) SiK无线电高级配置(六)
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (十六)视图变换 正交投影 透视投影
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)Mysql的优化设置
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET CLR基本术语
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .Net(C#)自定义WinForm控件之小结篇