Android|教你如何在安卓上实现通用卡证识别一键各种卡绑定

前言 华为HMS MLKit提供的服务越来越多了,上期给大家介绍了银行卡识别的功能,从上期的介绍中我们可以了解到使用专用的银行卡识别接口,几行代码就可以完成银行卡卡号的识别 , 那么有的小伙伴可能会问,我想识别的卡不是银行卡,会员卡可以识别吗,或者某一类证件号识别?也没有问题~但因为不同商家的卡号位置,版面样式各异,所以无法像银行卡识别那样使用专用的银行卡识别API,这个时候我们可以选用通用卡证识别的能力 , 通用卡证识别可以给大家提供一个标准的通用卡证对准框,大家只需要拉起这个对准框,就可以获取对准框内识别到的卡证全部内容 , 这个时候再针对这些内容按照一定的规则做关键信息提取,即可获取到自己想要的内容,比如连续的8位数字即为卡号 , 或者在某些特殊字母后的内容即为卡号内容 。
通用卡证识别的应用场景?通用卡证识别,顾名思义,是各种卡证的识别,能识别的范围很广,常用的应用场景:
旅游绑证 旅游类APP需要对身份证等信息进行绑定,用于购票、酒店预订等场景,通过对此类证件进行拍照自动识别,可以避免手动输入证件号容易出错的问题

Android|教你如何在安卓上实现通用卡证识别一键各种卡绑定

文章插图
购物绑卡 购物类APP,通过拍照识别快速绑定会员卡、购物卡、打折卡 。
Android|教你如何在安卓上实现通用卡证识别一键各种卡绑定

文章插图
银行卡、中国二代身份证号码识别虽然可以也可以使用通用卡证识别来完成 , 但推荐使用华为ML Kit的专有的银行卡识别、身份证识别的API,专有卡证识别针对银行卡、身份证识别做了特别的优化 , 准确率更高,可以直接返回处理好以后的卡号数据,小编后续可以详细介绍下专有卡证和通用卡证识别的区别 。
如何使用通用卡证识别服务
Android|教你如何在安卓上实现通用卡证识别一键各种卡绑定

文章插图
?给大家画了个简单的流程图 , 可以看到只需要把图片、拍照、视频流传给ML Kit,即可获取到对应的识别内容,针对识别内容做一定后处理即可提取出要识别的卡证号内容 。
集成通用卡证识别服务的关键流程
Android|教你如何在安卓上实现通用卡证识别一键各种卡绑定

文章插图
可以看到开发流程也非常的简单,只需要启动卡证识别Activity,获取Activity识别到的内容 , 然后对内容做简单后处理提取关键信息就可以完成代码开发了 。
核心提示,端侧能力全免费,全终端覆盖!非华为手机也可以使用
开发实战??本次的开发实战中实现了对港澳通行证、回乡证、香港居民身份证的处理 , 大家伙可参考实现 。
1 开发准备详细的准备步骤可以参考华为开发者联盟:https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-process-4
这里列举关键的开发步骤 。
1.1 在项目级gradle里添加华为maven仓??打开AndroidStudio项目级build.gradle文件,增量添加如下maven地址:
buildscript {repositories {maven {url 'http://developer.huawei.com/repo/'}}}allprojects {repositories {maven { url 'http://developer.huawei.com/repo/'}}}1.2 在应用级的build.gradle里面加上SDK依赖dependencies{// 引入基础SDKimplementation 'com.huawei.hms:ml-computer-vision-ocr:1.0.3.300'// 引入拉丁语文字识别模型包implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:1.0.3.300'// 引入银行卡识别plugin包implementation 'com.huawei.hms:ml-computer-card-gcr-plugin:1.0.3.300' }??将以下语句添加到AndroidManifest.xml文件中:
按照官网操作指导来就行了:https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-configuringobfuscation-scripts-4