快速高效

您所在的位置:网站首页 安卓扫描身份证 快速高效

快速高效

2024-07-18 03:04:06| 来源: 网络整理| 查看: 265

一:简介

快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。通常办法是通过上传照片,并且手动输入基本信息进行认证,这种方法不仅操作复杂,而且容易出错。网上很多资源,识别率低,速度慢,用户体验很差。今天我就和大家介绍一下我使用的方法,可以快速、高效的识别中国身份证信息。

二:原理

在拍摄框中右上区域加了一个人像区域提示框,并将该区域设为扫描人脸的区域,只有该区域扫描到身份证上的人脸时(确保用户的确将身份证人像对准了拍摄框中的人像框),才执行读取身份证信息的操作。

三:项目展示

扫描身份证面截图

头像面扫描

国徽面扫描

信息展示页面

头像页信息

国徽页信息

四: 使用流程介绍 4.1 身份验证

由于使用的是百度云的图像文字识别sdk,首先需要去百度云管理控制台获得API Key / Secret Key。

管理控制台

管理控制台

4.2 下载demo 将下载的demo中libs目录下的ocr-sdk.jar文件拷贝到工程libs目录中,并加入工程依赖 将libs目录下armeabi,arm64-v8a,armeabi-v7a,x86文件夹按需添加到android studio工程src/main/jniLibs目录中, eclipse用户默认为libs目录。 在Android studio中以模块方式导入下载包中的identify文件夹,模块方式导入流程如下:

首先要在顶层工程目录下的settings.gradle文件中include模块名

include ':app',':identify'

然后直接复制粘贴identify文件导入到项目的文件夹中!!!然后Build>Rebuild Project,重新构建项目。

4.3 权限配置 在工程AndroidManifest.xml文件中添加如下权限: 在Proguard配置文件中增加, 防止release发布时打包报错: -keep class com.baidu.ocr.sdk.**{*;} -dontwarn com.baidu.ocr.** 4.4 核心函数介绍 初始化函数 OCR.getInstance().initAccessTokenWithAkSk(new OnResultListener() { @Override public void onResult(AccessToken result) { } @Override public void onError(OCRError error) { error.printStackTrace(); Log.d("onError", "msg: " + error.getMessage()); } }, getApplicationContext(), "你注册的appkey", "你注册的sk"); 身份证拍照 Intent intent = new Intent(MainActivity.this, CameraActivity.class); intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH, FileUtil.getSaveFile(getApplication()).getAbsolutePath()); intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT); startActivityForResult(intent, REQUEST_CODE_CAMERA); 图像回调 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_CAMERA && resultCode == Activity.RESULT_OK) { if (data != null) { String contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE); String filePath = FileUtil.getSaveFile(getApplicationContext()).getAbsolutePath(); if (!TextUtils.isEmpty(contentType)) { if (CameraActivity.CONTENT_TYPE_ID_CARD_FRONT.equals(contentType)) { recIDCard(IDCardParams.ID_CARD_SIDE_FRONT, filePath); } else if (CameraActivity.CONTENT_TYPE_ID_CARD_BACK.equals(contentType)) { recIDCard(IDCardParams.ID_CARD_SIDE_BACK, filePath); } } } } } 数据解析 private void recIDCard(String idCardSide, String filePath) { IDCardParams param = new IDCardParams(); param.setImageFile(new File(filePath)); param.setIdCardSide(idCardSide); param.setDetectDirection(true); OCR.getInstance().recognizeIDCard(param, new OnResultListener() { @Override public void onResult(IDCardResult result) { if (result != null) { Log.d("onResult", "result: " + result.toString()); } } @Override public void onError(OCRError error) { Log.d("onError", "error: " + error.getMessage()); } }); }

到此身份证识别接入就结束了!!!

相同方式均可实现银行卡识别、驾驶证识别、行驶证识别、车牌识别、营业执照识别等等,如有需要demo可联系我。

源码Demo获取方法

关注 【网罗开发】微信公众号,回复【162】便可领取。网罗天下方法,方便你我开发,更多iOS技术干货等待领取,所有文档会持续更新,欢迎关注一起成长!

希望可以帮助大家, 如有问题可加QQ技术交流群: 591625129。 如果哪里有什么不对或者不足的地方,还望读者多多提意见或建议。 如需转载请联系我,经过授权方可转载,谢谢

本篇已同步到个人博客:FBY展菲



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭