Android身份证识别demo,文字识别

百度云链接:https://console.bce.baidu.com/?fromai=1#/aip/overview

1、1首先去百度文字识别创建应用,获取ak和sk

 

 

 配置ak和sk

 

 

1、2 jniLibs文件夹复制过去

 

 

2、识别身份证信息方法:

/**
 *
 * 解析身份证图片
 *
 * @param idCardSide 身份证正反面
 * @param filePath   图片路径
 */
private void recIDCard(final String idCardSide, String filePath) {

    Log.i("charge ID card", idCardSide);

    IDCardParams param = new IDCardParams();
    param.setImageFile(new File(filePath));
    // 设置身份证正反面
    param.setIdCardSide(idCardSide);
    // 设置方向检测
    param.setDetectDirection(true);
    // 设置图像参数压缩质量0-100, 越大图像质量越好但是请求时间越长。 不设置则默认值为20
    param.setImageQuality(40);

    OCR.getInstance().recognizeIDCard(param, new OnResultListener<IDCardResult>() {
        @Override
        public void onResult(IDCardResult idCardResult) {

            Log.i("charge ID card", String.valueOf(idCardResult));

            if (idCardResult != null) {

                if (idCardSide.equals("back")) {

                    String signDate = "";
                    String expiryDate = "";
                    String issueAuthority = "";
                    if (idCardResult.getSignDate() != null) {
                        signDate = idCardResult.getSignDate().toString();
                    }
                    if (idCardResult.getExpiryDate() != null) {
                        expiryDate = idCardResult.getExpiryDate().toString();
                    }
                    if (idCardResult.getIssueAuthority() != null) {
                        issueAuthority = idCardResult.getIssueAuthority().toString();
                    }

                    mContent.setText("签发机关: " + issueAuthority + "\n\n" +
                            "有效期限: " + signDate + "-" + expiryDate + "\n\n");
                }else {

                    String name = "";
                    String sex = "";
                    String nation = "";
                    String num = "";
                    String address = "";
                    if (idCardResult.getName() != null) {
                        name = idCardResult.getName().toString();
                    }
                    if (idCardResult.getGender() != null) {
                        sex = idCardResult.getGender().toString();
                    }
                    if (idCardResult.getEthnic() != null) {
                        nation = idCardResult.getEthnic().toString();
                    }
                    if (idCardResult.getIdNumber() != null) {
                        num = idCardResult.getIdNumber().toString();
                    }
                    if (idCardResult.getAddress() != null) {
                        address = idCardResult.getAddress().toString();
                    }

                    mContent.setText("姓名: " + name + "\n\n" +
                            "性别: " + sex + "\n\n" +
                            "民族: " + nation + "\n\n" +
                            "身份证号码: " + num + "\n\n" +
                            "住址: " + address + "\n\n");
                }


            }

        }

        @Override
        public void onError(OCRError ocrError) {

            Toast.makeText(DetailActivity.this, "识别出错,请查看log错误代码", Toast.LENGTH_SHORT).show();
            Log.d("MainActivity", "onError: " + ocrError.getMessage());

        }
    });

}

 

识别效果

在线回复bug:qq1085220040

demo链接:https://download.csdn.net/download/meixi_android/11014640

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值