身份证正反面识别,身份证扫描识别,二代身份证OCR识别,OCR极速识别身份证所有信息正反面均可。离线无需联网,极速秒扫。

article/2025/8/21 8:57:51

项目说明

极速识别二代身份证、驾驶证、护照 (无需联网,离线秒扫,极速识别)身份证所有信息, 包含姓名、性别、出生年月、详细地址,正反面。不需要联网即可离线识别身份证所有信息包括新疆少数民族身份证,识别速度快,识别率高可保存识别图片。

扫描示例

Application中初始化

OcrDecodeFactory.initOCR(context);

调用扫描界面

OcrDecodeFactory.newBuilder(context).requestCode(REQUEST_CODE).ocrType(binding.type.getSelectedItemPosition())    //0身份证, 1驾驶证, 2护照.broadcastAction(broadcastAction)                   //扫描结果发送到这个广播上.startOcrActivity();                                //使用内置的扫描界面

返回结果

识别结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(requestCode == REQUEST_CODE && resultCode == RESULT_OK){String result = data.getStringExtra("OCRResult");try {JSONObject jo = new JSONObject(result);StringBuffer sb = new StringBuffer();sb.append(String.format("正面 = %s\n", jo.opt("type")));sb.append(String.format("姓名 = %s\n", jo.opt("name")));sb.append(String.format("性别 = %s\n", jo.opt("sex")));sb.append(String.format("民族 = %s\n", jo.opt("folk")));sb.append(String.format("日期 = %s\n", jo.opt("birt")));sb.append(String.format("号码 = %s\n", jo.opt("num")));sb.append(String.format("住址 = %s\n", jo.opt("addr")));sb.append(String.format("签发机关 = %s\n", jo.opt("issue")));sb.append(String.format("有效期限 = %s\n", jo.opt("valid")));sb.append(String.format("整体照片 = %s\n", jo.opt("imgPath")));sb.append(String.format("头像路径 = %s\n", jo.opt("headPath")));sb.append("\n驾照专属字段\n");sb.append(String.format("国家 = %s\n", jo.opt("nation")));sb.append(String.format("初始领证 = %s\n", jo.opt("startTime")));sb.append(String.format("准驾车型 = %s\n", jo.opt("drivingType")));sb.append(String.format("有效期限 = %s\n", jo.opt("registerDate")));binding.textview.setText(sb.toString());} catch (JSONException e) {e.printStackTrace();}}
}//也可以通过广播接收扫描数据
private class ResultReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if(broadcastAction.equals(intent.getAction())){String result = intent.getStringExtra("OCRResult");Toast.makeText(context, "从广播中接收到扫描数据: " + result, Toast.LENGTH_LONG).show();}}
}

aar集成方法

将文件aar文件复制到 libs目录下, 然后在build.gradle中增加:

android{repositories {flatDir {dirs 'libs'}}defaultConfig {manifestPlaceholders = [//debug.keystore生成, 正式包需要重新生成.//**注意: 一个KEY只绑定一个applicationId 多渠道打包需要注意**"OCR_API_KEY" : "26f1f6a0d4d7cb0dd0e9b28f4cedef83"    ]ndk {//abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'arm64-v8a'//armeabi x86 基本上已经是淘汰了, Android11 以上版本请使用这两个架构的ABIabiFilters 'armeabi-v7a', 'arm64-v8a'}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation (name: 'library-ocr-2.0-SNAPSHOT', ext: 'aar')//Gradle7 修改了引用方式: implementation(files("./libs/library-ocr-2.0-SNAPSHOT.aar"))
}

自定义识别框方式集成

如果当前扫描界面无法满足,您可以自己开发相机预览界面,使用以下API进行识别.

//1. Application中初始化
OcrDecodeFactory.initOCR(context);
//2. 初始化解码器
OcrDecode ocrDecode = OcrDecodeFactory.newBuilder(context).saveImage(saveImage)       //是否保存图片, 仅身份证模式有效, 表示自动裁剪身份证头像.ocrType(ocrType)           //0身份证, 1驾驶证, 2护照.margin(getResources().getDimension(R.dimen.public_40_dp)) //预览框边距, 身份证默认48dp, 护照默认20dp.build();
/* 3. 开始解码3.1 这是一个异步耗时操作, 解析成功后会回调到onSuccess中, 自己解析json3.2 decode 方法, 为了提高识别效率及准确度, 建议对数据进行裁剪后再传入, 具体代码考虑SimpleCameraActivity
*/
ocrDecode.decode(byte[] jpeg, callback);
ocrDecode.decode(String path, callback);//回调是异步的, 请不要直接更新UI
private OcrDecodeCallback callback = new OcrDecodeCallback() {@Overridepublic void onSuccess(final String json) {}@Overridepublic void onFail(final int cause) {/*LibraryInitOCR.DECODE_FAIL LibraryInitOCR.DECODE_UNAUTHORIZEDLibraryInitOCR.DECODE_AUTO_FOCUS*/}
};
//4.在Activity onDestroy 释放资源
ocrDecode.close();

混淆排除

参考 app/proguard-rules.pro

更新日志

2.0
由于相机扫描识别容易出错, 所以重新优化放弃用了相机扫描方式, 改为拍照识别了

IdCardOCR

如果只用到身份证识别,可以将驾驶证的so库删除掉,并只使用 armeabi-v7a arm64-v8a 两个架构
sha1 查看方式: 
命令行进入签名文件所在的目录执行:
keytool -list  -v -keystore 签名文件.keystore -storepass 签名文件密码

证示例图

对着电脑扫描识别率会比较低, 建议使用身份证原件做测试.
在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/UZ2ENjaS.shtml

相关文章

如何对接身份证OCR?

【身份证OCR文字识别】身份证OCR识别-身份证识别-身份证-OCR文字-身份证OCR文字-身份证OCR-身份证OCR图像识别【最新版】_图像识别_身份证识别_OCR-云市场-阿里云 身份证OCR免费体验 Java代码如下 public static void main(String[] args) {String host "https://idcar…

实名二代身份证OCR识别

在银行、信用社、航空、保险、电信等部门单位办理手续或证件时,常需要身份证件,但业务人员手工录入速度慢、办公效率太低是一大亟需解决的问题,通常要先通过扫描或拍照,来获取身份证上面的头像,然后再手工填写用户的身…

Opencv实现身份证OCR识别

Opencv 配置IDEA可参考:https://blog.csdn.net/zwl18210851801/article/details/81075781 opencv位置: OpencvUtil类: package com.x.common.utils;import org.opencv.core.*; import org.opencv.core.Point; import org.opencv.imgcodecs.…

身份证OCR实名认证接口

人工智能,身份证,OCR实名验证 一、接口介绍 自动识别及快速提取二代居民身份证正反面所有字段,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,实时联网核查校验是否一致。对URL网络图片或base64信息进行…

身份证OCR识别SDK

一、身份证OCR识别SDK应用背景 随着Android、IOS智能手机的普及,5G通信技术的发展,移动互联迎来了爆发式增长,越来越多的公司都推出了自己的移动APP、小程序等应用。这些应用多数都涉及到个人身份证信息的输入认证(即实名认证&…

阿里云智能身份证OCR文字识别

智能身份证OCR文字识别 做的项目里面涉及到了身份证识别输入的真实姓名与身份证号码是否匹配功能,于是在阿里云接了智能身份证OCR文字识别API,登录阿里云找到对应的产品,如下图 购买使用然后生成对应的APPcode。 使用的demo有蛮多&#xff0c…

如何用 身份证OCR 接口进行快速开发

最近公司项目有一个身份证文字识别的小需求,想着如果用现成的API就可以大大提高开发效率,在网上的API商店搜索了一番,发现了 APISpace,它里面的身份证OCR非常符合我的开发需求。 身份证OCR,传入身份证照片&#xff0c…

离线身份证OCR识别

离线身份证ocr识别简介 离线身份证ocr识别SDK可支持Android、iOS主流移动操作系统,android平台提供jar包,ios提供静态库.a文件。APP集成离线身份证ocr识别SDK后,用户采用手机、平板电脑对身份证进行拍摄识别即可自动识别身份证信息。 离线身…

身份证OCR识别

本文章来源于自己的学习图像处理以及识别过程中的一些经验,开发了一个OCR识别身份证程序,此程序虽不够完美但有一定的参考价值,CSDN上本人也将提供源代码,对身份证OCR识别整个过程的一个梳理。 程序依赖库,OpenCV3.20…

4款堪称手机神器的APP,每个都可以玩转手机,尤其是第三个

每个人的手机中都会一到两个永远不会卸载的APP,有些APP可以让你在工作中事半功倍,有些可以让你打发时间,并且还可以学习到不同的知识。下面就为大家介绍几个即可以娱乐还可以学习的APP。 一周计划 对于记忆力不好的小伙伴,可以在…

安卓手机软件开发_安卓最牛的下载神器,快收藏起来自己偷偷用

小编一直在想,有木有一款安卓手机电影下载神器让用户在一个手机 App 软件里,既能播放 BT 文件,又能下载网盘文件呢? 谁又不想要一个迅雷百度云网盘资源网站,三合一的手机电影下载神器呢? 其实小编很早就注意…

电脑复制手机粘贴神器-快贴使用方法

首先电脑下载快贴:https://home.clipber.com/index.html?styleorange 然后手机应用市场下载app:快贴(安卓苹果都可以下载) 回到电脑上把下载的软件安装好,用邮件注册登录,设置: 第二步点右下角任务栏 快…

android代码让手机降温,手机降温神器下载 手机一键降温神器 for Android v1.0.1 安卓版 下载-脚本之家...

对于经常使用手机的朋友来说,肯定手机会非常烫,如果手机持续高温的话就会降低电池的生命周期,所以,为手机降温是非常有必要的。今天小编带来了这款手机一键降温神器就不错,这是一款可以帮助用户快速降低手机温度的工具…

安卓手机垃圾清理神器!彻底清理你的手机垃圾!手机瞬间飞起来!

使用安卓手机的小伙伴经常会遇到一个令人头疼的问题“手机时间一久,各种缓存数据和垃圾文件会越来越多,不及时清理的话,不见占用储存空间,而且还会拖慢手机的运行速度”,大家可能使用过很多垃圾清理软件,清…

android wear阅读器,手机软件有哪些神器?

根据使用场景分类吧,给大家介绍几款私藏的神器: 一、久坐提醒,健康第一 如今,越来越多的事情可以在电脑上完成,学生族和办公族们,一不小心就会在电脑前坐上整一天。久坐带来的一个最直接感受,就…

手机最强Python编程神器,在手机上运行Python

手机编程软件有很多,大部分都很难使用,操作不灵活,甚至不能安装第三方库。 尝试安装了很多Python移动编程软件,发现了很多问题,不是编码效率低就是各种bug。今天,来自一位python编程小哥指导,向…

BatteryHistorian Android手机耗电分析神器

Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lollipop)及以后版本的设备上电池的相关信息和事件的工具,是一款对于分析手机状态,历史运行情况很好的可视化分析工具。 当…

推荐一款手机app自动点击神器

点击上方"优派编程"选择“加入星标”,第一时间关注原创干货 工具软件下载地址:http://wp.fang1688.cn/ganhuo/931.html 今天小编方包介绍这款app自动点击神器:贝利自动点击器 贝利自动点击器安卓版是一款免费的手机自动连点器,用户…

可以用计算机控制手机的软件,还有这样的神奇软件!让你用PC操控手机的神器...

原标题:还有这样的神奇软件!让你用PC操控手机的神器 [PConline 应用]想要用电脑来控制手机?这里有个简单的办法,你还别说,在电脑里刷刷抖音、刷刷朋友圈也是个不错的事儿。但你别误会,这篇文章并不是让你在…

苹果手机温度测试软件,苹果手机测温神器上线啦!

前几日看到有位刚做了几个月的宝妈,在群里说她家小孩发烧,她在家里用水银温度计测温的时候,宝宝不配合又哭又闹,她很怕宝宝把水银弄碎,但是又没有办法只能强行给宝宝完成体温测量。真是心疼又心酸。 日常生活中宝妈用水…