Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
I

IdCardOCR

> 编程语言
Open source

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

1.1K stars0 likes0 views
WebsiteGitHub

About

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

项目说明

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

Application中初始化

java
OcrDecodeFactory.initOCR(context);

调用扫描界面

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

返回结果

…

aar集成方法

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

…

自定义识别框方式集成

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

java
//1. Application中初始化
OcrDecodeFactory.initOCR(context);
java
//2. 初始化解码器
OcrDecode ocrDecode = OcrDecodeFactory.newBuilder(context)
  .saveImage(saveImage)       //是否保存图片, 仅身份证模式有效, 表示自动裁剪身份证头像
  .ocrType(ocrType)           //0身份证, 1驾驶证, 2护照
  .margin(getResources().getDimension(R.dimen.public_40_dp)) //预览框边距, 身份证默认48dp, 护照默认20dp
  .build();
java
/* 
	3. 开始解码
	3.1 这是一个异步耗时操作, 解析成功后会回调到onSuccess中, 自己解析json
	3.2 decode 方法, 为了提高识别效率及准确度, 建议对数据进行裁剪后再传入, 具体代码考虑SimpleCameraActivity
*/
ocrDecode.decode(byte[] jpeg, callback);
ocrDecode.decode(String path, callback);

//回调是异步的, 请不要直接更新UI
private OcrDecodeCallback callback = new OcrDecodeCallback() {
  @Override
  public void onSuccess(final String json) {

  }

  @Override
  public void onFail(final int cause) {
		/*
			LibraryInitOCR.DECODE_FAIL 
			LibraryInitOCR.DECODE_UNAUTHORIZED
			LibraryInitOCR.DECODE_AUTO_FOCUS
		*/
  }
};
java
//4.在Activity onDestroy 释放资源
ocrDecode.close();

混淆排除

groovy
参考 app/proguard-rules.pro

更新日志

apl
2.1
1. 更新Apk安装在高版本提示应用版本过低问题.

技术支持 QQ:2227421573

如果只用到身份证识别,可以将驾驶证的so库删除掉,并只使用 armeabi-v7a arm64-v8a 两个架构
授权密钥请扫描码(image/pay.png) 不白嫖.
并将applicationId及正式包sha1发给我,我给你KEY.
sha256 查看方式: 
命令行进入签名文件所在的目录执行:
keytool -list  -v -keystore 签名文件.keystore -storepass 签名文件密码

还有军官证 护照离线识别有需要的小伙伴可联系

请不要重复问, 有没有使用限制, 没有安装数量限制, 没有调用次数限制, 无无无..., 后续更新直接接取新版本替代aar即可.

AAR 包含了身份证、驾驶证、护照的引擎因此包比较大, 如果没有用到可以做裁剪

证示例图 (国内网络问题可能无法预览图片)

对着电脑扫描识别率会比较低, 建议使用身份证原件做测试.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Java

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言