# IDCardOCR **Repository Path**: caihonghai/idcard-ocr ## Basic Information - **Project Name**: IDCardOCR - **Description**: 基于test4j的java身份证识别项目,包括图片中提取出身份证等识别前一系列的预处理... 目前识别率95%+ - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 2 - **Created**: 2024-03-05 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```本项目参考开源项目IDCardIDentify 使用说明: 1、Ocr.tessdataPath中修改为本地存储训练数据的路径(本项目中resources路径下有) 2、入口在Test类的main方法 识别流程说明: 1、图片旋转: 有些图片看起是横向的,其实是竖向的,灰度化后会有问题,这里需要旋转下 2、图片缩小处理:如4096*2080的尺寸缩小到1156*520,缩小尺寸对于像素点级别的运算速度有提升 3、图片本身是竖向的,要转为横向 4、从图片中提取身份证的部分,图片中的身份证不能是斜放的,斜放可能无法提取,个人测试了10多张图片,可能算法还未完善。 5、图片识别前的预处理:去除身份证上的蓝字、二值化、缩放到身份证真实大小 6、图片切割:切割成姓名、性别和民族、地址、身份证号4部分,每个部分单独识别。性别和民族的识别采用白名单模式,提高识别准确率。 出生日期部分不做识别,准确率低,直接截取身份证号的 其他: 1、准确率98%+ (有些不常用的字无法识别,个人猜测训练数据的字库中压根没有这个字) 2、耗时2秒左右 3、无法识别斜放的身份证