Android中如何识别二代身份证
Android中如何识别二代身份证
这篇文章主要介绍“Android中如何识别二代身份证”,在日常操作中,相信很多人在Android中如何识别二代身份证问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android中如何识别二代身份证”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
开发前准备
android studio 安装
在项目级gradle里添加华为maven仓
打开AndroidStudio项目级build.gradle文件
增量添加如下maven地址:
buildscript{repositories{maven{url'http://developer.huawei.com/repo/'}}}allprojects{repositories{maven{url'http://developer.huawei.com/repo/'}}}
在应用级的build.gradle里面加上SDK依赖
dependencies{//引入基础SDKimplementation'com.huawei.hms:ml-computer-vision-icr:1.0.3.300'//引入身份证识别plugin包implementation'com.huawei.hms:ml-computer-card-icr-cn-plugin:1.0.3.315'//引入身份证识别模型包implementation'com.huawei.hms:ml-computer-card-icr-cn-model:1.0.3.315'}
在AndroidManifest.xml文件里面增量添加模型自动下载
要使应用程序能够在用户从华为应用市场安装您的应用程序后,自动将最新的机器学习模型更新到用户设备,请将以下语句添加到该应用程序的AndroidManifest.xml文件中:
<manifest...<meta-dataandroid:name="com.huawei.hms.ml.DEPENDENCY"android:value="icr"/><!--Ifmultiplemodelsarerequired,settheparameterasfollows:android:value="object,ocr,face,label,icr,bcr,imgseg"-->...</manifest>
在AndroidManifest.xml文件里面申请相机、访问网络和存储权限
<!--相机权限--><uses-permissionandroid:name="android.permission.CAMERA"/><!--使用网络权限--><uses-permissionandroid:name="android.permission.INTERNET"/><!--写权限--><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--读权限--><uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
代码开发关键步骤
  在开发时可以通过三种方式进行集成开发,分别为:使用识别插件进行视频流身份证识别、设备侧身份证识别以及云侧身份证识别。在这里我们主要介绍使用识别插件进行视频流身份证识别的开发步骤,如果大家对另外两种集成方式感兴趣,可以参照华为开发者联盟开发步骤: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/ml-icr-dev-4
创建识别结果回调函数
识别结果回调函数,重载onSuccess, onCanceled, onFailure, onDenied四个方法;onSuccess 表示识别成功,MLCnIcrCaptureResult为识别返回结果,onCanceled 表示用户取消,onFailure 表示识别失败,onDenied 表示相机不可用等场景。
privateMLCnIcrCapture.CallbackidCallback=newMLCnIcrCapture.Callback(){@OverridepublicvoidonSuccess(MLCnIcrCaptureResultidCardResult){//识别成功处理。}@OverridepublicvoidonCanceled(){//用户取消处理。}//识别不到任何文字信息或识别过程发生系统异常的回调方法。//retCode:错误码。//bitmap:检测失败的身份证图片。@OverridepublicvoidonFailure(intretCode,Bitmapbitmap){//识别异常处理。}@OverridepublicvoidonDenied(){//相机不支持等场景处理。}}
设置识别参数
设置识别参数,调用识别器capture接口进行识别,识别结果会通过步骤1的回调函数返回。
privatevoidstartCaptureActivity(MLCnIcrCapture.Callbackcallback,booleanisFront,booleanisRemote){MLCnIcrCaptureConfigconfig=newMLCnIcrCaptureConfig.Factory()//设置识别身份证的正反面。//true:正面。//false:反面。.setFront(true)//设置是否使用云侧能力进行识别。//true:云侧。//false:端侧。.setRemote(false).create();MLCnIcrCaptureicrCapture=MLCnIcrCaptureFactory.getInstance().getIcrCapture(config);icrCapture.capture(callback,this);}
实现身份识别
在检测按钮的回调中,调用步骤2中定义的方法,实现身份证识别。
@OverridepublicvoidonClick(Viewv){switch(v.getId()){//识别正面按钮。caseR.id.IDCard_image_front:startCaptureActivity(idCallback,true,false);break;//识别背面按钮。caseR.id.IDCard_image_back:startCaptureActivity(idCallBack,false,false);break;default:break;}}
到此,关于“Android中如何识别二代身份证”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!
推荐阅读
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
-
HTML5如何实现禁止android视频另存为
-
学java好还是学php好?
-
Android如何实现多点触控功能
-
android怎么实现多点触摸应用
-
Android怎么实现手势划定区域裁剪图片
-
android怎么实现简单的矩形裁剪框
-
Android单选多选按钮怎么使用
-
Android中如何利用oncreate获取控件高度或宽度
Android中如何利用oncreate获取控件高度或宽度本篇内容...
-
Android中怎么使用onSaveInstanceState()方法
Android中怎么使用onSaveInstanceState()方法...