Card-Ocr
==========
身份证识别OCR, 从身份证图片中自动提取身份证号或者其他字段。<br>
测试图片来自百度搜索的样例图片。<br>
找到的图片比较少,目前都能正确识别。<br>
可用的数据集个人很难找到。<br>
# Update for Windows
百度开源了PaddleOcr,识别中文效果很好,编译了一个Windows版本在windows目录。<br>
可以使用CardOcr.exe test0.png 或者CardOcr.py里面的方法调用API。<br>
VisualStudio 2017的源码可以在Source.7z中找到<br>
这种方式加一些逻辑判断可以解析身份证所有字段<br>
<img src='./ocr_vis.png' width="240">
12M模型
```
112044165412202438 score: 0.972305<br>
公民身份证号码 score: 0.998278<br>
紫禁城敬事房 score: 0.994911<br>
住址北京市东城区景山前街4号 score: 0.981174<br>
出生1654年12月20日 score: 0.992183<br>
民族汉 score: 0.984364<br>
性别男 score: 0.995585<br>
姓名 韦小宝 score: 0.91293<br>
```
换140M的模型
```
The predicted text is :
公民身份证号码11204416541220243X score: 0.995691
紫禁城敬事房 score: 0.998352
住址北京市东城区景山前街4号 score: 0.999506
出生1654年12月20日 score: 0.98693
性别男 score: 0.999688
民族汉 score: 0.998341
姓名 score: 0.999685
韦小宝 score: 0.993859
Cost 4.20827s
```
# 依赖
* opencv
* pytesseract
* numpy
* matplotlib
# 流程
* 获取身份证号区域
image-》灰度=》反色=》膨胀=》findContours
* 数字识别
采用tesseract识别,通过trainfont.py获得traineddata.
# trainfont使用
1. 通过autoBox = 1自动生成box文件
```
trainFont(fontName, fontPath, fontsize, txt, "eng", 0, autoBox=1)
```
2. 通过jBoxEditor之类的修正box文件
3. autoBox = 0 生成traineddata
```
trainFont(fontName, fontPath, fontsize, txt, "eng", 0, autoBox=0)
```
# 识别
获取到身份证区域之后,截取身份证号,灰度化,然后交给pytesseract
```
pytesseract.image_to_string(image, lang='ocrb', config=tessdata_dir_config)
```
# Keras
除了用tesseract,也可以用机器学习的方式训练识别。这里用了Keras with Tensorflow,"开头两套双卷积池化层,后面接一个 dropout 防过拟合,再接两个全链接层,最后一个 softmax 输出结果。"
使用genData.py生成train数据。
截取身份证号之后的图片分割成18个图片,x-predict.png
用kerastrain.py进行预测识别
训练的结果有时候3和5能分清,有时候分不清。
因为没有支持CUDA的显卡,用的CPU训练。
<img src='./sample2.png' width="240">
<img src='./sample3.png' width="240">
# 效果
![plot](./sample1.png)
# TODO
- [ ] Keras with Tesorflow 来训练识别
# 引用
* https://github.com/JinpengLI/deep_ocr/
* http://blog.csdn.net/zhangxb35/article/details/47979939
* https://www.qcloud.com/community/article/606773
* https://github.com/duerig/laser-dewarp/
* http://www.pyimagesearch.com/2017/07/17/credit-card-ocr-with-opencv-and-python/
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Card-Ocr 身份证识别OCR, 从身份证图片中自动提取身份证号或者其他字段。 测试图片来自百度搜索的样例图片。 找到的图片比较少,目前都能正确识别。 可用的数据集个人很难找到。 Update for Windows 百度开源了PaddleOcr,识别中文效果很好,编译了一个Windows版本在windows目录。 可以使用CardOcr.exe test0.png 或者CardOcr.py里面的方法调用API。 VisualStudio 2017的源码可以在Source.7z中找到 这种方式加一些逻辑判断可以解析身份证所有字段 Card-Ocr 身份证识别OCR, 从身份证图片中自动提取身份证号或者其他字段。 测试图片来自百度搜索的样例图片。 找到的图片比较少,目前都能正确识别。 可用的数据集个人很难找到。 Update for Windows 百度开源了PaddleOcr,识别中文效果很好,编译了一个Windows版本在windows目录。 可以使用CardOcr.exe test0.png 或者CardOcr.py里面的方法调用API。 VisualStudio 201
资源推荐
资源详情
资源评论
收起资源包目录
人工智能-项目实践-图像识别-身份证识别OCR, 从身份证图片中自动提取身份证号或者其他字段 (196个子文件)
Source.7z 65.13MB
api_config 26B
batch 50B
bigram 129B
digits 37B
mklml.dll 88.36MB
opencv_world3415.dll 53.07MB
paddle_inference.dll 49.41MB
mkldnn.dll 22.64MB
libiomp5md.dll 1.65MB
CardOcrLib.dll 195KB
CardOcr.exe 12KB
font_properties 14B
ocr_export.h 186B
hocr 64B
inference.pdiparams.info 25KB
inference.pdiparams.info 19KB
inference.pdiparams.info 16KB
inter 59B
imageprocess.ipynb 342KB
card3.jpeg 35KB
receipt-scanned.jpg 106KB
kannada 101B
linebox 70B
logfile 25B
makebox 26B
matdemo 243B
README.md 3KB
msdemo 402B
nobatch 1B
batch.nochop 37B
pdf 46B
inference.pdiparams 7.93MB
inference.pdiparams 2.19MB
inference.pdiparams 527KB
inference.pdmodel 866KB
inference.pdmodel 815KB
inference.pdmodel 528KB
test3.png 912KB
sample1.png 648KB
card1.png 548KB
ocr_vis.png 275KB
sample2.png 165KB
sample3.png 165KB
card2.png 110KB
test2.png 87KB
test0.png 80KB
test0.png 80KB
test0.png 71KB
test1.png 71KB
model.png 40KB
idbackground.png 37KB
ocr_a_reference.png 13KB
37030519820727311X.png 3KB
430523197603204314.png 3KB
445281198606095334.png 3KB
11204416541220243X.png 2KB
0.png 2KB
0.png 2KB
0.png 2KB
0.png 2KB
0.png 2KB
0.png 2KB
0.png 2KB
0.png 2KB
0.png 1KB
0.png 1KB
0.png 1KB
0.png 1KB
1.png 1KB
1.png 1KB
0.png 1KB
0.png 1KB
1.png 1KB
0.png 1KB
0.png 1KB
1.png 1KB
1.png 1KB
1.png 1KB
1.png 1KB
0.png 1004B
0.png 1004B
1.png 979B
0.png 934B
0.png 934B
1.png 900B
1.png 777B
11-11204416541220243X.png 521B
12-11204416541220243X.png 517B
14-11204416541220243X.png 511B
2-11204416541220243X.png 510B
0.png 501B
0.png 501B
16-11204416541220243X.png 495B
5-11204416541220243X.png 491B
3-11204416541220243X.png 480B
13-11204416541220243X.png 477B
7-11204416541220243X.png 474B
15-11204416541220243X.png 473B
9-11204416541220243X.png 473B
共 196 条
- 1
- 2
博士僧小星
- 粉丝: 1774
- 资源: 5875
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- rainy-day.jpg
- IMG_20240501_171218.jpg
- Swift-内购封装swift版本
- 经典CNN网络之ResNet 图像分类网络实战项目:7种小麦叶片病害分类(迁移学习)
- Java毕设之ssm010基于ssm的新能源汽车在线租赁管理系统+vue.rar
- Java毕设之ssm009毕业生就业信息统计系统+vue.rar
- Java毕设之ssm008医院门诊挂号系统+jsp.rar
- Java毕设之ssm007亚盛汽车配件销售业绩管理统+jsp.rar
- Java毕设之ssm006基于java的少儿编程网上报名系统+vue.rar
- Java毕设之ssm005基于SSM框架的购物商城系统+jsp.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页