0. 需求说明

小叔在旅游公司上班,上次偶尔碰到他手动录入每个顾客的信息,所以感觉这个不方便,便给他用python写了个脚本,识别出用户身份证中的姓名和身份证号码。

1. 使用工具

  1. python基础包
  2. pandas库 用来写入excel文件
  3. 百度智能云接口api

2.思路

  1. 先调用将图片放在本地一个文件目录下,然后以二进制形式读入每张image
  2. 将image图片通过request发送到百度智能云上,然后获取json对象
  3. 根据json对象得到用户信息,这里我只用到姓名和身份证号码
  4. 封装用户姓名和身份证号码成一个字典,然后所有用户信息就构成一个list
  5. 写入第4步中的list到excel文件中,这里用到pandas模块,比python中其他模块要简单

3.代码实现

先得根据自己有AK和Sk获取一个授权码(告诉百度云你要做的应用是什么)对应着getAccessToken()

import requests
import base64
import json
import os
import pandas as pddef getAccessToken():url = "https://aip.baidubce.com/oauth/2.0/token" data = {'grant_type': 'client_credentials','client_id': '这里填写个人ak','client_secret': '这里填个人sk',}response = requests.post(url=url, data=data)data2 = json.loads(response.text) accesstoken = data2['access_token']return accesstokendef get_images(path):files = os.listdir(path) #得到文件夹下所有文件的名称images = []for file in files:try:filePath = os.path.join(path,file)with open(filePath,'rb') as f:  image = base64.b64encode(f.read())images.append(image)except Exception as e:print(str(e))return imagesdef recognize_Pic(path):# step1: 获取accessTokenaccess_token = getAccessToken()# step2: 获取图片集合images = get_images(path)request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard"request_url = request_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}dic = []for image in images:name,id_num = getText(image,request_url,headers)dic.append({'姓名':name,'身份证号码':id_num})print(dic)writeExcel(dic)def writeExcel(dic):pf = pd.DataFrame(dic)order = ['姓名','身份证号码']pf = pf[order]file_path = pd.ExcelWriter(r'C:\Users\Administrator\Desktop\test2.xlsx')pf.fillna(' ',inplace=True)pf.to_excel(file_path,encoding='utf-8',index=False,sheet_name="sheet1")file_path.save()def getText(image,request_url,headers):params = {"id_card_side": "front", "image": image}response = requests.post(request_url, data=params, headers=headers)if response:data = response.json()print(data)name = data['words_result']['姓名']['words']id_num = data['words_result']['公民身份号码']['words']return (name,id_num)else:print('识别错误')if __name__ == '__main__':     path = r'C:\Users\Administrator\Desktop\ID'recognize_Pic(path)

4.数据测试

这里我随便从网上扒拉几张图片,测试都没有问题

5. 百度智能云使用说明

  1. 进入百度智能云官网(需要先注册),然后点击人工智能大类选择图像识别

也可以直接在搜索栏中输入搜索的”身份证识别“

2. 创建应用获取Ak,Sk,这里的APIKey和Secret Key都是程序中要填入的,直接copy进去就可以

【python】身份证识别相关推荐

  1. python身份证识别

    基于百度AI的身份证识别 import os import pandas as pd import requests import base64 import tkinter as tk from t ...

  2. python身份证识别仪_C#身份证识别相关技术功能详解

    最近研究C#相关的OCR技术,图像识别一般C和C++这种底层语言做的比较多,C#主要是依托一些封装好的组件进行调用,这里介绍一种身份证识别的方法. 环境搭建 在File类别下下载这个EXE,进行安装, ...

  3. python 身份证识别仪_Card-Ocr:身份证识别 OCR

    Card-Ocr 身份证识别OCR, 从身份证图片中自动提取身份证号. 测试图片来自百度搜索的样例图片. 找到的图片比较少,目前都能正确识别. 可用的数据集个人很难找到. 依赖 opencv pyte ...

  4. python身份证识别仪_脸部皮肤疾病监测【最新版】_图像识别_人脸识别_人工智能-云市场-阿里云...

    {"moduleinfo":{"advanList_count":[{"count_phone":4,"count":4 ...

  5. Python使用阿里API进行身份证识别

    Python使用阿里API进行身份证识别 1. 作者介绍 2. 身份证识别介绍 3. 调用阿里智能云API 4. 代码解析 4.1导入库 4.2 完整代码 4.3 实验结果 参考 1. 作者介绍 孟莉 ...

  6. python用百度云接口实现身份证识别

    python可以通过python+Opencv来实现很多文字识别之类的工作,因为OpenCV库的功能可以说是相当强大,很多功能都可以完成.但是实现起来需要自己造轮子,所以很费时间和精力,我们可以直接学 ...

  7. Python实现AI图像识别-身份证识别

    图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率 需求分析 身份证识别主要是把一张身份证照片上面的文字信息进行提取,不用再使用人工去手动抄写了,下面给大家说的这个身份识别主要是使用pyth ...

  8. python如何识别身份证图片上的证件号码及姓名

    要在Python中识别身份证图片上的号码和姓名,可以使用OCR(光学字符识别)技术.OCR技术可以将图像中的文本转换为计算机可读的文本格式. 以下是一个示例代码,使用tesseract OCR库和Op ...

  9. 使用Python和OpenCV实现身份证识别

    Python是一种功能强大的编程语言,可以用于各种各样的应用场景,包括身份证识别.在本文中,我们将介绍如何使用Python来识别身份证,并提供一个示例代码来演示这个过程. 身份证识别原理 身份证是中国 ...

最新文章

  1. java 提取内容并排序
  2. Spring进行表单验证
  3. 深入分析 java 8 编程语言规范:Threads and Locks
  4. Hibernate(一)__简介
  5. Windows添加在此处打开命令CMD
  6. [Kaggle] Digit Recognizer 手写数字识别(神经网络)
  7. 高效代码审查的十个经验
  8. 检查vCenter Server上STS证书的过期日期(79248)(STS证书过期,导致 vCenter 报503无法登陆VC)
  9. 修改Imdict做自己的分词器
  10. oracle 给用户授权
  11. MSN蠕虫Myalbum2007.zip专杀工具
  12. C语言股票交易软件,甩手掌柜股票自动交易程序(2021年5月版)
  13. 南京邮电大学计算机专业学费多少,南京邮电大学学费多少
  14. 解读《美国国家BIM标准》– BIM能力成熟度模型 (一)
  15. 搜狐财报:铠甲不硬,需要新杀手锏
  16. 在我笔记本Ubuntu上装普罗米修斯记录
  17. VC下如何使用GDI+进行图像程序设计
  18. 基于gensim的Deep learning with paragraph2vec 官方models.doc2vec文档解释
  19. 杜比dss200服务器重装,杜比dss200服务器恢复系统操作.pdf
  20. python读取txt文档判断某一个值是否为nul_Python如何读取以NUL分隔的行的文件?

热门文章

  1. PHP正则过滤处理微信昵称中emoji字符的方法(导出excel)
  2. python爬虫篇,零基础学爬虫之精华版
  3. imovie导入媒体没有声音的解决办法
  4. Kubernetes集群容器运行日志收集
  5. 在线标注协作服务Hypothes.is的简明教程
  6. npm run build: rimraf: command not found
  7. ktt算法 约化_svm算法 最通俗易懂讲解
  8. FZU 2219 StarCraft (哈夫曼树)
  9. node文件通过不同的后缀名解析不同的文件类型
  10. ios修改apn的插件_iPhone手机APN修改方案