本文介绍应用百度AI的文字识别功能对身份证进行识别,感兴趣的朋友一起来看看效果吧。

  

一、安装baidu-aip模块

  
按win+R打开cmd,在里面输入

pip3 install baidu-aip

若出现如下界面,即成功安装了baidu-aip模块:

如果想快速了解识别营业执照代码原理,可以跳过第二部分,先看第三部分的内容。
  
  

二、获取百度AI接口密钥

  
在应用python识别身份证的过程中,有三行代码使用了百度AI接口密钥,故先阐述如何获得该密钥。首先,进入如下百度AI官方网站:

https://ai.baidu.com/tech/ocr

有百度账户的输入账户密码进行登录,没有的点击注册,按指示输入相关信息即可注册登录。

  
登录后找到文字识别中的产品列表,下方有卡证文字识别内容,点击了解详情。
  
  

可以发现卡证文字识别中包含了我们常见的一些证件的识别,比如身份证、银行卡、营业执照、户口本、护照等。本文阐述营业执照的识别,感兴趣的同学可以自行研究其它证件的识别。在卡证文字识别的详情中可以发现如下产品列表:
  

  
找到身份证识别,点击了解详情,即可进入如下界面:
  

  
点击立即使用,就会出现如下服务协议:
  

  
点击我已同意百度AI开放平台服务协议,就可以进入如下界面:
  

  
下滑后点击卡证OCR,就可以发现身份证别功能,点击开通按钮。
  

  
可以进入如下筛选开通付费页面:
  

  
在确认开通之前,要先进行实名验证,按指示进行操作即可完成实名验证。


  
接着可以勾选要开通的识别功能,具体如下:
  

  
然后点击去支付,由于每天前多少次是免费的,且采取后付费模式,故不需提前付费。若开通成功,会出现如下界面:
  

  
开通成功后,点击概览中的创建应用。
  

  
填写应用名称(自己想一个贴合自己应用场景的名字即可)、选择文字识别包名、选择应用归属、填写应用描述,点击立即创建即可。
  

  
最后,点击应用详情,即可找到我们需要的接口密钥(红框对应的值)。
  

  
  

三、调用百度接口识别身份证

  
安装好baidu-aip模块,获取了百度AI接口密钥后,即可调用百度接口识别身份证了。身份证识别每天有5百次的免费调用机会,首先来看下今天要识别的身份证。

  
这张身份证是在百度上下载的一张虚拟身份证,如有侵权,请联系我删除。识别该身份证的具体python代码如下:

import re
import os
import time
from aip import AipOcros.chdir(r'F:\公众号\27.证件识别')
#设置证件存放的路径APP_ID = 'XXX'
API_KEY = 'XXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXX'
#百度账号和密钥,需替换成你的picture = open('2_身份证_v3.jpg', 'rb')
img = picture.read()
#读取图片idCardSide = 'front'  #身份证正面
#idCardSide = 'back'   #身份证反面options = {}
options['detect_direction'] = 'true' #是否检测图像朝向,默认不检测
options['detect_risk'] = 'false'     #是否开启身份证风险类型client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
text = client.idcard(img, idCardSide, options)
#识别图片中的信息concat_text = []
if isinstance(text, dict):words = text['words_result']for k, v in words.items():print(u'{k}:{v}'.format(k=k, v=v['words']))tt = u'{k}:{v}'.format(k=k, v=v['words'])concat_text.append(tt)
#把字典解析成我们熟悉的形式

注:其中os.chdir中的内容应该替换成你存储图片的地址,APP_ID、API_KEY、SECRET_KEY应该替换成第二章末尾你获取的百度密钥。
  
得到结果如下:


  
对比原始图片可以发现,出生是直接从身份证号码中截取的,住址的信息可能由于反光没有识别出来,结果为空。这里有个小插曲,我之前一直使用png格式的身份证图片进行调用识别,但一直报如下错误:

ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))

  
后面调整为jpg图片后,就没有出现该问题了,所以建议在进行身份证识别时最好把图片的格式设置为jpg。为进一步规范输出成标准格式,通过如下代码进行规范化:

import pandas as pddate_concat_text = pd.DataFrame(concat_text)
date_concat_text.columns =['text']
df = date_concat_text["text"].str.split(':',expand=True)
date_concat_text['label'] = df.iloc[:,0]
date_concat_text['content'] = df.iloc[:,1]
date_concat_text.to_csv("id_card_to_text.csv")

  
得到结果如下:


  
至此,调用百度接口识别身份证已讲解完毕,感兴趣的朋友自己实现一遍吧。
  
参考文献
https://www.pianshen.com/article/7641312664/
https://www.cnblogs.com/z-x-h/p/12116453.html
https://www.cnblogs.com/zh-1721342390/p/9318619.html
https://blog.csdn.net/zhyl4669/article/details/88947571
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

Python调用百度AI识别身份证相关推荐

  1. python调用百度AI识别文字和表格

    python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...

  2. Python——调用百度AI实现图片上文字识别

    Python--调用百度AI实现图片上文字识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 简介 Python免费调用百度 ...

  3. 【应用】Python调用百度AI实现图片上表格识别

    [应用]Python调用百度AI实现图片上表格识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用AipOcr库识别表格文字 可能遇到的问题 批量操作 简介 Python免费调用百度AI实现图 ...

  4. ai图像识别python的项目_Python3调用百度AI识别图片中的文字功能示例【测试可用】...

    本文实例讲述了Python3调用百度AI识别图片中的文字功能.分享给大家供大家参考,具体如下: 首先pip install命令安装baidu-aip模块,如下图所示(这里使用pip3 install ...

  5. python调用百度OCR识别证件+操作excel表格

    python调用百度OCR识别证件+操作excel表格 如果要操作文件的话最好让程序知道文件存不存在,因为做了GUI界面,报错不会直接弹出来,异常捕获就用得比较频繁 因为面向对象没学好,GUI是用工具 ...

  6. Python用百度AI识别车牌号教程(超详细)

    Python用百度AI识别车牌号教程 创建API接口 用浏览器打开http://ai.baidu.com/ 点击右上角的"控制台" 登录账号(没有就注册一个) 点击 产品服务> ...

  7. python调用百度AI接口识别营业执照

    上一篇文章介绍了应用python中的pytesseract库和OCR识别软件进行文字识别.本文介绍应用百度AI的文字识别功能对营业执照进行识别,感兴趣的朋友一起来看看效果吧.    一.安装baidu ...

  8. python调用百度人脸识别对美女进行颜值打分

    调用百度人脸识别 一.注册百度api 先百度开发者开发平台注册应用https://ai.baidu.com/tech/face/detect 1.创建应用 2.管理应用 APP_ID, API_KEY ...

  9. Python调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序

    调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序 1. 实验环境 Python3.8.Pycharm.window10 2.实验过程 1.首先登陆百度智能云:https ...

最新文章

  1. 推荐搜索炼丹笔记:MiNet阿里跨域点击率CTR预估
  2. Android USB 开发详解
  3. 华为鸿蒙osbeta发布会,华为鸿蒙 OS Beta 3
  4. 微服务 注册中心_4.微服务架构的第二个组件:注册中心
  5. 安卓--selector简单使用
  6. Linux查看哪些进程占用较多的cpu、内存和磁盘IO的方法
  7. java list初始容量_java中快速创建带初始值的List和Map实例
  8. c++将小数化为二进制_C++中的float内存存储、与十进制的转换
  9. android 结算权限,如何在Android应用程序中实施应用内结算?
  10. 论文公式编号右对齐_毕业论文详细排版,看这一篇就够了!
  11. html脚注如何设置,脚注怎么加(如何设置脚注格式)
  12. virtualbox 搭建opnsense 防火墙
  13. android 读取wps_Android 默认使用wps打开本地文档
  14. Golang:加密解密算法
  15. 各版本的Hadoop安装包下载
  16. SystemUi概述
  17. /.bash_profile 到底在哪里 (Macbook)
  18. 【第十三届蓝桥杯省赛B组】统计子矩阵 (枚举前缀和+双指针)
  19. 第二次作业——红芯事件
  20. Android 调用系统的ContentProvider

热门文章

  1. mysql报错1593_主从复制报1593错误的处理
  2. RabbitMQ系列【3】安装RabbitMQ
  3. 路由器和电脑IP地址、端口号、网卡mac查询方式
  4. 处理器协同机制其三C++内存顺序与栅栏(及依赖性读屏障)
  5. python数据分析及可视化(九)pandas数据规整(分组聚合、数据透视表、时间序列、数据分析流程)
  6. 数据库横向扩展和纵向扩展
  7. 程序员,你还没有软技能吗?难怪你不幸福
  8. MAC Vmware FUSION网络配置
  9. js实现数字时钟,按钮实现暂停开始
  10. php用户中心ui,Layui用户中心模板