IdCardOCR

离线秒扫身份证正反面,直接输出结构化信息

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 计算机视觉 🍴 复刻 278 🐛 待处理 2 👀 关注 19
GitHub ↗
GitHub 星标 ★ 1134
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,离线使用

项目预览

IdCardOCR 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类计算机视觉
开发团队XieZhiFa
定价模式🏷️完全免费
价格说明开源免费,离线使用
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
主要语言Java
GitHub 星标★ 1134
上线时间2019-01-03 00:00:00
代码更新2026-09-29
仓库体积81.7 MB
本站数据更新2026-10-27
维护状态较活跃
收录时间2026-10-27
浏览次数0

项目介绍

IdCardOCR 是一个基于 Java 的身份证正反面 OCR 识别项目,面向需要在本地完成二代身份证信息提取的开发者。它解决的是证件信息录入依赖人工或在线服务的问题:把身份证图像输入后,直接输出姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限等结构化字段,正反面均可识别。项目主打离线运行,不依赖网络请求,适合对数据隐私和响应速度有要求的场景;识别流程针对身份证版式做了优化,强调快速出结果。技术上以 Java 实现,便于集成进 Java 后端或桌面应用,可作为身份核验、实名登记、门禁访客、金融开户等业务的前置信息采集组件。项目星标约 1.1k,处于成长阶段,适合作为证件 OCR 的轻量方案参考或二次开发基础。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-10-27 · 当前星标 ★ 1134

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:进阶 约 15 分钟 部署方式:库/依赖 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Android 开发环境(Android Studio + JDK),可编译运行仓库中的 Java 工程
  • 一台带摄像头的 Android 设备或模拟器,用于调用内置扫描界面
  • 识别过程离线运行,不需要网络权限

安装与启动步骤

  1. 1获取项目源码

    将仓库克隆到本地,作为 Android 工程用 Android Studio 打开;README 未给出 Maven/Gradle 依赖坐标,需以仓库实际模块配置为准。

    git clone https://github.com/XieZhiFa/IdCardOCR.git
  2. 2初始化识别引擎

    在 Application 中调用 initOCR 完成初始化,传入 Context,保证扫描前引擎已就绪。

    OcrDecodeFactory.initOCR(context);
  3. 3启动扫描界面

    用 Builder 设置请求码、证件类型与结果广播,再调用 startOcrActivity 打开内置扫描界面。

    OcrDecodeFactory.newBuilder(context)
      .requestCode(REQUEST_CODE)
      .ocrType(binding.type.getSelectedItemPosition())    //0身份证, 1驾驶证, 2护照
      .broadcastAction(broadcastAction)
      .startOcrActivity();
  4. 4接收识别结果

    在 onActivityResult 中按 requestCode 与 resultCode 判断,从 Intent 取出 OCRResult 字符串。

    @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");
        }
    }
  5. 5解析结构化字段

    把 OCRResult 当作 JSON 解析,按 type、name、sex、folk、birt、num、addr、issue 等键取值展示或入库。

    JSONObject jo = new JSONObject(result);
    String name = (String) jo.opt("name");
    String num = (String) jo.opt("num");
    String addr = (String) jo.opt("addr");

关键配置

配置项必填说明示例
requestCode是启动扫描时的请求码,用于在 onActivityResult 中区分回调来源REQUEST_CODE
ocrType是识别证件类型:0 身份证、1 驾驶证、2 护照0
broadcastAction否扫描结果发送的广播 action,用于广播方式接收结果com.example.OCR_RESULT
OCRResult是Intent 中携带识别结果的键名,内容为 JSON 字符串JSONResult

如何确认成功

调用内置扫描界面扫描一张身份证,在 onActivityResult 中能取到 OCRResult 并解析出姓名、号码、住址等字段即成功。

常见问题

Q:识别需要联网吗?

A:不需要。README 说明为离线识别,无需网络即可提取身份证正反面信息。

Q:支持哪些证件类型?

A:通过 ocrType 选择:0 身份证、1 驾驶证、2 护照,默认场景以身份证为主。

Q:识别结果怎么取?

A:onActivityResult 回调中 data.getStringExtra("OCRResult") 得到 JSON 字符串,再按字段名解析。

Q:如何作为依赖引入已有工程?

A:README 未给出依赖坐标,需参考仓库工程中的模块配置自行拷贝源码或模块引入。

注意事项

  • 结果字段名以 README 示例为准(type、name、sex、folk、birt、num、addr、issue 等),解析时注意类型判断
  • README 只提供调用示例,未给出 Gradle/Maven 坐标与权限声明,集成时需自行核对工程配置
  • 项目为 Android/Java 实现,需在 Android 应用中使用,不是独立可执行程序

核心亮点

  • 纯离线识别,证件图像不出本地,隐私风险低
  • 正反面字段一次提取,输出姓名、身份证号、住址、有效期等结构化结果
  • Java 实现,便于嵌入 Java 后端或桌面系统,集成成本低

不足之处

  • 仅覆盖身份证单一证件类型,缺少护照、驾驶证等扩展
  • 识别准确率与图像质量强相关,复杂光照或倾斜场景需自行预处理
  • 文档与社区活跃度待观察

适用场景

  • 酒店、园区访客登记时快速录入身份证信息
  • 金融或政务类应用的开户实名信息采集
  • 企业内部身份核验系统的本地化 OCR 组件

替代项目

PaddleOCR、EasyOCR、tesseract-ocr

上一篇:GLM-OCR

下一篇:chandra

同类项目推荐

scanbot-sdk-example-android 开源

几行代码给安卓 App 加上文档扫描与 OCR 识别

Easy-to-use Android document scanner and data extraction library for native Android ···

★ 115 2026-09-30
PGS 开源

在Processing里轻松搞定复杂几何处理,让创意不卡壳。

Processing Geometry Suite

★ 220 2026-08-09
MIVisionX 开源

在 AMD 硬件上跑视觉推理,用 OpenVX 图加速

AMD MIVisionX is a computer vision toolkit built around a highly optimized, conforma···

★ 218 2026-09-18
GeoPixel 开源

让多模态大模型精准定位遥感图像中的每个目标像素

GeoPixel: A Pixel Grounding Large Multimodal Model for Remote Sensing is specificall···

★ 157 2026-08-09
gen-cv 开源

用自然语言搞定视觉任务,快速搭建生成式视觉应用

Vision AI Solution Accelerator

★ 434 2026-08-09
AdaRefSR 开源

一张参考图,单步扩散,超分又快又真

AdaRefSR is a novel reference-based one-step diffusion super-resolution framework. P···

★ 71 2026-08-09