Python代码使用easyocr识别身份证号码,直接上代码

import easyocr
import os
import re
import pandas as pdclass card():def __init__(self):self.images = r'D:/sfz'def ocr_reader(self): # 创建ocr对象,识别中英文ocr = easyocr.Reader(['ch_sim','en'],gpu=True)return ocrdef read_card(self): # 识别图片文字,并遍历data = []for image in os.listdir(self.images):content = self.ocr_reader().readtext(f'{self.images}/{image}',detail=0)content = ''.join(content)  # 列表转换为纯文本new_content = content.replace(" ", "") # 去除掉空格内容print(f'正在识别:{image}')name = re.findall(r'名(.*?)性', new_content)gender = re.findall(r'别(.*?)民族|民', new_content)nation = re.findall(r'族|民族(.*?)出', new_content)address = re.findall(r'址(.*?)公', new_content)number = re.findall(r'身份号码(\d+)', new_content)new_name = ''.join(name)new_gender = ''.join(gender)new_nation = ''.join(nation)new_address = ''.join(address)new_number = ''.join(number)if len(new_number) == 18:  # 判断身份证的位数passelif len(new_number) == 17:new_number = new_number + "X"print(f'完成识别:{image}')data.append([new_name, new_gender, new_nation, new_address, new_number])print(data)return datadef write_to_excel(self):df = pd.DataFrame(self.read_card(),columns = ['姓名','性别','民族','地址','身份证号码'])print(f'识别结果如下:')print(df)df.to_excel(r'D:/sfz/识别结果.xlsx',index=False)return dfif __name__ == '__main__':info = card()info.read_card()info.write_to_excel()

本文仅用于学术交流,禁止用于非法用途,后果自负。

由于用到的包下载很慢可以直接下载这里

https://download.csdn.net/download/airyearth/86746644https://download.csdn.net/download/airyearth/86746644

Python代码使用easyocr识别身份证号码相关推荐

  1. Python识别身份证号码并检查是否合法(pysseract,dlib,opencv)

    接下来我将讲述如何利用pysseract.dlib以及OpenCV识别身份证号码并检查其是否合法(包括库文件的安装等). 我参照了以下两篇博客的内容(或者说是这两篇博客的整理以及整合): https: ...

  2. Android 识别身份证号码(图片识别)

    概述 Android 身份证号码识别 (本地,在线,实时),网络识别用的别人的接口,不保障什么时候就用不了了,本地识别基于tess_two,位置对的话识别准确率达到90%以上. 详细 代码下载:htt ...

  3. python好学吗 小木虫-25行Python代码完成人脸识别

    以下是Shantnu Tiwari的客座文章,作者有着在底层编程和嵌入式领域十年的工作经验.在发现Python语言之前的几年时间里,Shantnu Tiwari一直忍受着C/C++语言编程的不便,但P ...

  4. 请写代码校验第二代身份证号码有效性。程序接收一个18位的身份证号码和性别,根据以下规则输出号码是有效还是无效。

    请写代码校验第二代身份证号码有效性.程序接收一个18位的身份证号码和性别,根据以下规则输出号码是有效还是无效. 第二代身份证号组成规则: a) 身份证号码(18位)= 地址码(6)+ 出生日期码(8) ...

  5. Android Studio+OpenCV 识别身份证号码---识别身份证号码

    上一章使用CLion+OpenCV对身份证号码进行了检测,经过检测我们能拿到身份证号码区域的照片,现在我们对上一章拿到的图片中的数字进行识别 上一章链接:CLion+OpenCV 识别身份证号码--- ...

  6. JAVA识别身份证号码,H5识别身份证号码,tesseract-ocr识别(一)

    背景介绍: 这段时间正在做一个流动人口管理项目,其中要求使用H5网页拍照识别身份证,当时就蒙圈了,这不是APP的功能吗?产品为了快速迭代一直把APP的功能往H5上堆砌,没办法只有想办法解决了. 查了一 ...

  7. JAVA识别身份证号码,H5识别身份证号码,tesseract-ocr识别(二)

    背景介绍 上一篇博文介绍了如何使用JAVA识别身份证号码,假设在截取了身份证号码信息的情况下,这一篇博文主要讨论一下思路吧,技术方面都是大家会的. 思路分析 H5拍照上传 -> 服务端截取身份证 ...

  8. Python调用百度AI识别身份证

    本文介绍应用百度AI的文字识别功能对身份证进行识别,感兴趣的朋友一起来看看效果吧.    一.安装baidu-aip模块    按win+R打开cmd,在里面输入 pip3 install baidu ...

  9. python学习使用easyocr识别图片文字

      测试了C#中调用PaddleOCRSharp和PaddleSharp进行图片文字识别,由于正在学习python,也就同时学习使用python进行图片文字识别的方法.   百度关键词"py ...

最新文章

  1. java 多线程 day12 读写锁
  2. RedHat Enterprise Linux6.4 使用CentOS yum源
  3. 《设计团队协作权威指南》—第1章1.3节甘为螺丝钉
  4. mysql里边字符函数_mysql函数(一.字符函数)
  5. 请求失败或服务未及时响应 有关详细信息_微服务治理与统计分析
  6. java中import机制(指定import和import *的区别)
  7. 5-14卷积神经网添加正则化
  8. 为什么 scrum 开发人员是一个 T-形的人 ?
  9. Spark session 深入理解
  10. setInterval.js
  11. 计算机应用基础全套课件图文,计算机应用基础教程(全套课件)综述.ppt
  12. deepin linux查看ip,deepin使用iproute配置网络命令
  13. Java中创建一个类的所有方式
  14. MyEclipse豆沙绿颜色设置
  15. PIO(编程输入/输出模型)和DAM(直接访问内存)
  16. 免费福利 Unity3D 项目资源分享链接(消消乐、斗地主、AR等)
  17. 深度学习——A Gentle Introduction to Graph Neural Networks
  18. python向kafka发送json数据_python3实现从kafka获取数据,并解析为json格式,写入到mysql中...
  19. V2V-PoseNet
  20. Flutter桌面开发 — Windows App打包以及使用Inno Setup生成.exe文件安装包

热门文章

  1. Qt 调用ftd2x API上位机踩坑指南
  2. pandas学习(数据分组与分组运算、离散化处理、数据合并)
  3. 下划线的作用(python)
  4. 金融计算器 npv_CFA考试用什么计算器?怎么操作?
  5. python入门学习笔记——详细基础知识篇(第10章 正则表达式(重点)与JSON)
  6. 沐神-动手学深度学习-引言
  7. 代码注释生成文档之Doxygen 附说明+下载连接
  8. Java反序列化之反射机制
  9. 【转】JSON书写格式
  10. Vielleicht schreien Oma dick Bild einfach fest.Schreien Musik es halbe Sohn dick.