python调用百度AI接口识别文字—以营业执照为例

上一篇文章介绍了应用python中的pytesseract库和OCR识别软件进行文字识别。本文介绍应用百度AI的文字识别功能对营业执照进行识别,感兴趣的朋友一起来看看效果吧。
python调用百度AI接口识别文字—以营业执照为例_第1张图片
  

一、安装baidu-aip模块

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

pip3 install baidu-aip

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

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

二、获取百度AI接口密钥

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

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

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

python调用百度AI接口识别文字—以营业执照为例_第2张图片

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


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


  
找到营业执照识别,点击了解详情,即可进入如下界面:


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


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


  
下滑后点击卡证OCR,就可以发现营业执照识别功能,点击开通按钮。


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


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


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


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

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

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


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

python调用百度AI接口识别文字—以营业执照为例_第3张图片

  
  

三、调用百度接口识别营业执照

  
安装好baidu-aip模块,获取了百度AI接口密钥后,即可调用百度接口识别营业执照了。每天有2百次的免费调用机会,具体调用代码如下:

import re
import os
from aip import AipOcr

os.chdir(r'F:\公众号\27.证件识别')
#设置证件存放的路径

APP_ID = 'XXX'
API_KEY = 'XXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXX'
#百度账号和密钥

picture = open('1_营业执照.png', 'rb')
img = picture.read()
#读取图片

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
text = client.businessLicense(img)
#识别图片中的信息

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应该替换成第二章末尾你获取的百度密钥。
  
得到结果如下:


  
为进一步规范输出成标准格式,通过如下代码进行规范化:

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['name'] = df.iloc[:,0]
date_concat_text['content'] = df.iloc[:,1]

  
得到结果如下:

  
至此,调用百度接口识别营业执照已讲解完毕,下一篇文章我们一起来探索调用百度AI的识别身份证。
  
参考文献
https://blog.csdn.net/Fowee/article/details/82430386
https://jingyan.baidu.com/article/4b52d702c7fb86fc5d774b61.html
https://baijiahao.baidu.com/s?id=1596196227961947177&wfr=spider&for=pc
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

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

你可能感兴趣的:(学习python,python,类,编程语言)