Python调用百度AI实现身份证识别

目录
  • 一、安装baidu-aip模块
  • 二、获取百度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识别身份证的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python+Opencv身份证号码区域提取及识别实现

    前端时间智能信息处理实训,我选择的课题为身份证号码识别,对中华人民共和国公民身份证进行识别,提取并识别其中的身份证号码,将身份证号码识别为字符串的形式输出.现在实训结束了将代码发布出来供大家参考,识别的方式并不复杂,并加了一些注释,如果有什么问题可共同讨论.最后重要的事情说三遍:请勿直接抄袭,请勿直接抄袭,请勿直接抄袭!尤其是我的学弟学妹们,还是要自己做的,小心直接拿我的用被老师发现了挨批^_^. 实训环境:CentOS-7.5.1804 + Python-3.6.6 + Opencv-3.4.

  • 基于Python的身份证验证识别和数据处理详解

    根据GB11643-1999公民身份证号码是特征组合码,由十七位数字本体码和一位数字校验码组成,排列顺序从左至右依次为: 六位数字地址码八位数字出生日期码三位数字顺序码一位数字校验码(数字10用罗马X表示) 校验系统: 校验码采用ISO7064:1983,MOD11-2校验码系统(图为校验规则样例) 用身份证号的前17位的每一位号码字符值分别乘上对应的加权因子值,得到的结果求和后对11进行取余,最后的结果放到表2检验码字符值..换算关系表中得出最后的一位身份证号码 代码: # coding=ut

  • Python中AI图像识别实现身份证识别

    目录 需求分析 步骤 申请华为云OCR接口 获取token 调用身份证识别接口 总结 图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率 需求分析 身份证识别主要是把一张身份证照片上面的文字信息进行提取,不用再使用人工去手动抄写了,下面给大家说的这个身份识别主要是使用python+flask+华为云OCR进行实现的. 步骤 申请华为云OCR接口 获取token 调用身份证识别接口 提取身份证信息 申请华为云OCR接口 图像识别主要使用的就是华为云OCR平台申请的接口,申请地址为:"ht

  • Python调用百度AI实现身份证识别

    目录 一.安装baidu-aip模块 二.获取百度AI接口密钥 三.调用百度接口识别身份证 一.安装baidu-aip模块 按win+R打开cmd,在里面输入 pip3 install baidu-aip 若出现如下界面,即成功安装了baidu-aip模块: 如果想快速了解识别营业执照代码原理,可以跳过第二部分,先看第三部分的内容. 二.获取百度AI接口密钥 在应用python识别身份证的过程中,有三行代码使用了百度AI接口密钥,故先阐述如何获得该密钥.首先,进入如下百度AI官方网站:https

  • Python调用百度AI实现图片上表格识别功能

    目录 简介 步骤 安装百度AI库 注册百度AI开放平台 调用AipOcr库识别表格文字 可能遇到的问题 批量操作 总结 简介 Python免费调用百度AI实现图片上面的表格识别 步骤 安装百度AI库 !pip install baidu-aip 注册百度AI开放平台 先注册百度AI,获得ID和密钥.注册方法可参考:注册方法 只需走到 "1.6 获取密钥" 即可.然后记录下自己的APP_ID.API_KEY.SECRET_KEY,就可以开始了. 调用AipOcr库识别表格文字 from

  • Python调用百度AI实现图片上文字识别功能实例

    目录 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 总结 简介 Python免费调用百度AI实现图片上面的文字识别 步骤 安装百度AI库 !pip install baidu-aip 注册百度AI开放平台 先注册百度AI,获得ID和密钥.注册方法可参考:注册方法 只需走到 "1.6 获取密钥" 即可.然后记录下自己的APP_ID.API_KEY.SECRET_KEY,就可以开始了. 调用glob库 glob库用

  • Python调用百度AI实现颜值评分功能

    目录 一.调用百度接口进行人脸属性识别 二.根据年龄和性别对颜值进行评价 三.批量识别人脸属性 四.自定义窗口语音播报颜值得分 五.明星颜值评价 一.调用百度接口进行人脸属性识别 安装好baidu-aip模块,获取了百度AI接口密钥后,即可调用百度接口进行人脸属性识别了.首先以杨紫的图片为例进行年龄.性别.颜值的识别. 具体python代码如下:‍ import os import base64 from aip import AipFace os.chdir(r'F:\公众号\28.人脸识别'

  • python调用百度API实现人脸识别

    1.代码 from aip import AipFace import cv2 import time import base64 from PIL import Image from io import BytesIO import pyttsx3 # """ 你的 APPID AK SK """ APP_ID = '1965####' API_KEY = 'YXL65ekIloykyjrT4kzc####' SECRET_KEY = 'lFi

  • python调用百度AI接口实现人流量统计

    百度AI接口的调用方法不必多介绍. 官网地址 人流量统计 新建AipBodyAnalysis from aip import AipBodyAnalysis """ 你的 APPID AK SK """ APP_ID = '你的 App ID' API_KEY = '你的 Api Key' SECRET_KEY = '你的 Secret Key' client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_K

  • Python调用百度AI实现人像分割详解

    目录 一.原始视频截图 二.提取人像 三.和背景图合并 四.合成视频 一.原始视频截图 import cv2 cap=cv2.VideoCapture(r"[小仙若]shake it !冬日也要活力满满! (P1. shake it).mp4") ret,frame=cap.read() i =0 timeF=3 j=0 num=0 while 1: i=i+1 if (i%timeF==0): j=j+1 cv2.imwrite("./pictures/"+str

  • Python基于百度AI的文字识别的示例

    使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别. 下载baidu-aip这个库,可以直接使用pip下载:pip install baidu-aip,也可以在PyCharm等开发工具中下载. 然后运行下列代码即可. # -*- coding: UTF-8 -*- from aip import AipOcr import json # 定义常量 APP_ID = '9851066' API_KEY = 'LUGBatgyRGoe

  • python利用百度AI实现文字识别功能

    本文为大家分享了python实现文字识别功能大全,供大家参考,具体内容如下 1.通用文字识别 # -*- coding: UTF-8 -*- from aip import AipOcr # 定义常量 APP_ID = '11352343' API_KEY = 'Nd5Z1NkGoLDvHwBnD2bFLpCE' SECRET_KEY = 'A9FsnnPj1Ys2Gof70SNgYo23hKOIK8Os' # 初始化AipFace对象 aipOcr = AipOcr(APP_ID, API_K

  • Python3调用百度AI识别图片中的文字功能示例【测试可用】

    本文实例讲述了Python3调用百度AI识别图片中的文字功能.分享给大家供大家参考,具体如下: 首先pip install命令安装baidu-aip模块,如下图所示(这里使用pip3 install baidu-aip命令): 编辑Python代码时注意,需要首先引入AipOcr和re两个模块,即: from aip import AipOcr import re 示例代码如下: from aip import AipOcr import re APP_ID='***' API_KEY='***

随机推荐