前言

就在近期华为HMS ML Kit 发布了1.0.3.30版本,ML Kit在原有通用OCR功能的基础上,又新增了银行卡识别(BCR)和二代身份证识别(ICR)。今天小编就给大家介绍一下其中的ICR能力。ML kit不仅提供语言相关的AI能力,还提供视觉方向的AI能力,具体信息大家可以移步https://developer.huawei.com/consumer/cn/hms/huawei-mlkit

场景

作为一个有身份的人,进行身份认证自然不可避免。平时,我们买火车票、飞机票需要身份认证,住酒店、住宾馆需要身份认证,现在连打游戏都要做实名认证。虽然我们很乐意证明我们自己的身份,但是每次都要输入那18位长的要命的身份证号,脑子一点不清晰,手一抖就会出错。因此,使用二代身份证识别(ICR)扫描身份证,做身份信息的录入实在是相当方便。

旅游出行类app进行身份认证
游戏类app进行身份认证
任何需要进行身份认证的app,发挥你的想象力_

现在是不是跃跃欲试,想要自己开发实现啦?那我就废话不多说,给大家介绍一下简单集成的ML kit 实现ICR的步骤~~

开发前准备

android studio 安装

很简单,下载安装即可。具体下载链接:
Android studio 官网下载链接:https://developer.android.com/studio
Android studio安装流程参考链接:https://www.cnblogs.com/xiadewang/p/7820377.html

在项目级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-data              android:name="com.huawei.hms.ml.DEPENDENCY"  android:value= "icr"/><!--If multiple models are required,set the parameter as follows:        android:value="object,ocr,face,label,icr,bcr,imgseg"-->  ...
</manifest>

在AndroidManifest.xml文件里面申请相机、访问网络和存储权限

<!--相机权限-->
<uses-permission android:name="android.permission.CAMERA" />
<!--使用网络权限-->
<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" />

代码开发关键步骤

在开发时可以通过三种方式进行集成开发,分别为:使用识别插件进行视频流身份证识别、设备侧身份证识别以及云侧身份证识别。在这里我们主要介绍使用识别插件进行视频流身份证识别的开发步骤,如果大家对另外两种集成方式感兴趣,可以参照华为开发者联盟开发步骤:https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/ml-icr-dev-4

创建识别结果回调函数

识别结果回调函数,重载onSuccess, onCanceled, onFailure, onDenied四个方法;onSuccess 表示识别成功,MLCnIcrCaptureResult为识别返回结果,onCanceled 表示用户取消,onFailure 表示识别失败,onDenied 表示相机不可用等场景。

private MLCnIcrCapture.Callback idCallback = new MLCnIcrCapture.Callback() {@Overridepublic void onSuccess(MLCnIcrCaptureResult idCardResult){// 识别成功处理。}  @Overridepublic void onCanceled(){// 用户取消处理。}  // 识别不到任何文字信息或识别过程发生系统异常的回调方法。// retCode:错误码。// bitmap:检测失败的身份证图片。@Overridepublic void onFailure(int retCode, Bitmap bitmap){// 识别异常处理。}@Overridepublic void onDenied(){// 相机不支持等场景处理。}
}

设置识别参数

设置识别参数,调用识别器capture接口进行识别,识别结果会通过步骤1的回调函数返回。

private void startCaptureActivity(MLCnIcrCapture.Callback callback, boolean isFront, boolean isRemote) {MLCnIcrCaptureConfig config = new MLCnIcrCaptureConfig.Factory()// 设置识别身份证的正反面。// true:正面。// false:反面。.setFront(true)// 设置是否使用云侧能力进行识别。// true:云侧。// false:端侧。.setRemote(false).create();MLCnIcrCapture icrCapture = MLCnIcrCaptureFactory.getInstance().getIcrCapture(config);icrCapture.capture(callback, this);
}

实现身份识别

在检测按钮的回调中,调用步骤2中定义的方法,实现身份证识别。

@Override
public void onClick(View v) {switch (v.getId()) {// 识别正面按钮。case R.id.IDCard_image_front:startCaptureActivity(idCallback, true, false);break;// 识别背面按钮。case R.id.IDCard_image_back:startCaptureActivity(idCallBack, false, false);break;default:break;}
}

Demo效果

这个demo是识别身份证正反两面的关键信息,效果如下:

超简单集成HMS ML Kit二代身份证识别,一键实名认证相关推荐

  1. 超简单集成HMS ML套件二代身份证识别,一键实名认证

    前言 就在近期华为HMS ML Kit发布了1.0.3.30版本,ML Kit在原有通用OCR功能的基础上,又添加了银行卡识别(BCR)和二代身份识别(ICR).今天小编就给ML kit除了提供语言相 ...

  2. 【转载】超简单集成HMS ML Kit 人脸检测实现可爱2D贴纸

    文章目录 前言 场景 开发前准备 在项目级gradle里添加华为maven仓 在应用级的build.gradle里面加上SDK依赖 在AndroidManifest.xml文件里面申请相机.访问网络和 ...

  3. android 贴纸 源码,超简单集成HMS ML Kit 人脸检测实现可爱贴纸

    前言 在这个美即真理.全民娱乐的时代,可爱有趣的人脸贴纸在各大美颜软件中得到了广泛的应用,现在已经不仅局限于相机美颜类软件中,在社交.娱乐类的app中对人脸贴纸.AR贴纸的需求也非常广泛.本文详细介绍 ...

  4. android自带抓拍算法,Android | 超简单集成HMS ML Kit实现最大脸微笑抓拍

    前言 如果大家对HMS ML Kit 人脸检测功能有所了解,相信已经动手调用我们提供的接口编写自己的APP啦.目前就有小伙伴在调用接口的过程中反馈,不太清楚HMS ML Kit 文档中的MLMaxSi ...

  5. 超简单集成HMS ML Kit 实现parental control

    前言   各位应用程序开发者有没有在后台收到过家长们的反馈? 希望能够提供一个开关,采取一些措施保护小孩的眼睛,因为现在小孩子的近视率越来越高,和他们长时间近距离盯着屏幕有很大的关系.最近有一个海外的 ...

  6. 超简单集成HMS Scan Kit扫码SDK,轻松实现扫码购

    前言   在前面的文章中,我们向大家介绍了HMS Scan Kit 的快速集成方法以及HMS Scan Kit和其他开源扫码工具的竞争力对比分析,如果没有看到也没关系,文章下方的往期链接中有文章入口. ...

  7. java人体识别_用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍...

    items = results.getAnalyseList(); // 开发者根据需要处理识别结果,例如,在此方法中进行相似度计算,从而在检测到特定姿势后进行拍照等操作. // 需要注意,这里只对检 ...

  8. 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍

    用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍 你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固 ...

  9. 超简单集成HMS Core ML Kit场景识别,构建相册管理新模式

    前言 "给你看下我之前去景区玩拍的照片,风景很好" "嗯嗯,我正好也准备出去玩,快分享下" -- "照片呢,还没找到吗?" "等会 ...

最新文章

  1. 编程算法 - 字典分词 代码(C)
  2. Spark加载hadoop配置原理
  3. python substr_python数据分析-数据对象(一)
  4. 【小安翻唱】Dreams-黑之契约者 双蛋快乐~顺便来拉票咯!
  5. 好想找一个灵魂伴侣,然后带着他一起周游世界,会实现吗?
  6. VIm中Python自动补全插件Pydiction
  7. 欧姆龙编程软件(CXONE)使用教程
  8. vue-实现换一换功能
  9. 新偶像时代:被直播重构的粉丝经济和社交平台
  10. 骑士CMS01 74cms v4.2.111 后台getshell漏洞复现
  11. 主机电源供电端口-24PIN ,20PIN ,20+4pin区别
  12. Exploratory Data Analysis可视化分析美国天气
  13. 位运算:【leedcode:只出现一次的数字】
  14. xls批量转换为xlsx格式文件
  15. 数据链路层的基本概念
  16. 2019-04-07 Python之利用PIL改变图片颜色和生成手绘图
  17. uhuntu五笔输入法fcitx安装
  18. NDIS(NDIS开发详解)
  19. memcpy 内存越界分析
  20. 线程进程计算之多任务同步进行

热门文章

  1. GDOI2016 退役记
  2. PHP+MySQL+Dreamweaver动态网站建设从入门到精通
  3. Intranet+Intranet QA-11/20 游记
  4. 关于 迪奥 中国官网 dior.cn 的真假性判断 ~
  5. 数据管理基础-ch08-10
  6. JavaEE 之 Habernate
  7. 小米平板安装linux系统版本,ubuntu(linux)占领小米平板2(mipad2)
  8. 当地图变成“元宇宙”入口, 高德 “钱途”更广了
  9. openwrt luci中文汉化
  10. Vue MVVM模型