Python调用百度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 AipOcr os.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 pd date_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")
得到结果如下:
以上就是Python调用百度AI实现身份证识别的详细内容,更多关于Python识别身份证的资料请关注猪先飞其它相关文章!
原文出处:https://blog.csdn.net/qq_32532663/article/details/121441095
相关文章
- 这篇文章主要介绍了python-opencv-画外接矩形框的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-09-04
- 下面来给各位同学介绍一个php身份证校验码的计算例子,希望本函数代码能帮助到各位同学哦。 例子 代码如下 复制代码 public function id_ver...2016-11-25
- 在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 2022虎年新年即将来临,小编为大家带来了一个利用Python编写的虎年烟花特效,堪称全网最绚烂,文中的示例代码简洁易懂,感兴趣的同学可以动手试一试...2022-02-14
- 在本篇文章里小编给大家分享的是一篇关于python中numpy.empty()函数实例讲解内容,对此有兴趣的朋友们可以学习下。...2021-02-06
python-for x in range的用法(注意要点、细节)
这篇文章主要介绍了python-for x in range的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-10- 这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 这篇文章主要介绍了python如何实现b站直播自动发送弹幕,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...2021-02-20
python Matplotlib基础--如何添加文本和标注
这篇文章主要介绍了python Matplotlib基础--如何添加文本和标注,帮助大家更好的利用Matplotlib绘制图表,感兴趣的朋友可以了解下...2021-01-26- 这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
- 今天小编就为大家分享一篇python 计算方位角实例(根据两点的坐标计算),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 这篇文章主要为大家详细介绍了python实现双色球随机选号,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-02
- 在本篇文章里小编给大家整理的是一篇关于python中使用np.delete()的实例方法,对此有兴趣的朋友们可以学习参考下。...2021-02-01
- 这篇文章主要介绍了使用Python的pencolor函数实现渐变色功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-09
Python getsizeof()和getsize()区分详解
这篇文章主要介绍了Python getsizeof()和getsize()区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-20- 这篇文章主要介绍了python自动化办公操作PPT的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-05
- 这篇文章主要介绍了解决python 两个时间戳相减出现结果错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-12
- 这篇文章主要为大家详细介绍了python实现学生通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-25