华为开发集成HMS Core SDK到Android Studio,识别身份证信息

一: 将agconnect-services.json 拷贝到 

 

打开项目级“settings.gradle”文件,配置HMS Core SDK的Maven仓地址

maven {url 'https://developer.huawei.com/repo/'}

二: 在项目的build.gradle中添加:

buildscript {
    dependencies {
        ...
        // 增加Android Gradle插件版本号配置,{version}为实际的Gradle插件版本号,例如7.1.1。
        classpath 'com.android.tools.build:gradle:7.1.1'
        // 增加AGC插件配置,请您参见AGC插件依赖关系选择合适的AGC插件版本。
        classpath 'com.huawei.agconnect:agcp:1.9.1.301'
    }
}

添加完后如下:

buildscript {
    dependencies {
        // 增加Android Gradle插件版本号配置,{version}为实际的Gradle插件版本号,例如7.1.1。
        classpath 'com.android.tools.build:gradle:7.4.2'
        // 增加AGC插件配置,请您参见AGC插件依赖关系选择合适的AGC插件版本。
        classpath 'com.huawei.agconnect:agcp:1.9.1.301'
    }
}

三:

在模块的build.gradle中添加:

apply plugin: 'com.huawei.agconnect'
 添加后如下
plugins {
    alias(libs.plugins.androidApplication)

}
apply plugin: 'com.huawei.agconnect'

四: 参考官网配置配置AndroidManifest.xml文件

<application
    ...
        android:allowBackup="false"
        android:usesCleartextTraffic="true"

并添加依赖包:

implementation 'com.huawei.hms:nearby:6.12.1.300'
implementation 'com.huawei.hms:scan:1.2.3.300'
 
// 引入基础SDK
implementation 'com.huawei.hms:ml-computer-vision-ocr:3.11.0.301'
// 引入拉丁语文字识别模型包
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:3.11.0.301'
// 引入日韩语文字识别模型包
implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:3.11.0.301'
// 引入中英文文字识别模型包
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:3.11.0.301'

// 引入身份证plugin与识别能力集合包。
implementation 'com.huawei.hms:ml-computer-card-icr-cn:3.7.0.303'

五: 身份证文字获取

Bitmap  bitmap_card;
MLTextAnalyzer analyzer;
MLLocalTextSetting setting = new MLLocalTextSetting.Factory()
        .setOCRMode(MLLocalTextSetting.OCR_DETECT_MODE)
        // 设置识别语种。
        .setLanguage("zh")
        .create();
analyzer = MLAnalyzerFactory.getInstance().getLocalTextAnalyzer(setting);
private MLCnIcrCapture.CallBack idCallback = new MLCnIcrCapture.CallBack() {
    @Override
    public void onSuccess(MLCnIcrCaptureResult idCardResult){
        // 识别成功处理。
        String msg="";
        msg+="地址:"+idCardResult.address;
        msg+="\n签发机关:"+idCardResult.authority;
        msg+="\n有效期限:"+idCardResult.validDate;
        msg+="\n性别:"+idCardResult.sex;
        msg+="\n出生日期:"+idCardResult.birthday;
        msg+="\n姓名:"+idCardResult.name;
        msg+="\n民族:"+idCardResult.nation;
        binding.textHome.setText(msg);
    }
    @Override
    public void onCanceled(){
        // 用户取消处理。
    }
    // 识别不到任何文字信息或识别过程发生系统异常的回调方法。
    // retCode:错误码。
    // bitmap:检测失败的身份证图片。
    @Override
    public void onFailure(int retCode, Bitmap bitmap){
        // 识别异常处理。
        Log.d("身份证识别", "失败");
        Toast.makeText(getContext(),"身份证识别失败",Toast.LENGTH_SHORT).show();
    }
    @Override
    public void onDenied(){
        // 相机不支持等场景处理。
    }
};
void click(){
    MLCnIcrCaptureConfig config = new MLCnIcrCaptureConfig.Factory()
            // true:设置识别身份证的正面。
            // false:设置识别身份证的反面。
            .setFront(false)
            .create();
    MLCnIcrCapture icrCapture =     MLCnIcrCaptureFactory.getInstance().getIcrCapture(config);
    // bitmap为输入的Bitmap格式图片数据。
    icrCapture.captureImage(bitmap_card, idCallback);
}
  • 43
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

英子来了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值