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"/>

代码开发关键步骤

&emsp;&emsp;在开发时可以通过三种方式进行集成开发,分别为:使用识别插件进行视频流身份证识别、设备侧身份证识别以及云侧身份证识别。在这里我们主要介绍使用识别插件进行视频流身份证识别的开发步骤,如果大家对另外两种集成方式感兴趣,可以参照华为开发者联盟开发步骤: 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中如何识别二代身份证”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!

发布于 2022-04-11 21:17:05
收藏
分享
海报
0 条评论
20
上一篇:Android中如何实现一个拍照翻译小程序 下一篇:Android中Web Service的作用是什么
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码