大家好,我是小瑜~
之前小瑜学习Python时遇到过一个问题,就是要将图片中的文字给提取出来,当时是别人帮忙搞出来的,现在学会了提取方式,来给大家分享一下。当然也给大家准备了源码在文末。
01创建账号
我们这次使用的是百度AI上的文字识别功能,来将图片上的文字进行提取。我们先打开百度AI界面,然后点击控制台。

跳转到登陆界面后,输入账号密码后,跳转到管理界面,此时我们点击文字识别。进入到文字识别应用界面。

然后创建一个应用(如已创建好,就点击管理应用)。

创建好后,进入到应用列表中,记下来‘AppID’、‘API Key’、‘Secret Key’这三个参数的值。在后面对API进行调用的时候需要用到这三个参数。

02提取文字
我们在上面已经注册号百度AI的账号了,现在我们要开始使用它来将图片中的文字给提取出来。首先,我们先安装一下要使用到的库。
pip install baidu-aip
这个库里提供了两个函数:AipOcr函数和client.basicGeneral函数。这两个函数一个实现用户验证功能,另一个实现了文字识别功能。代码如下:
from aip import AipOcr
APP_ID = '你的APPID'
API_KEY = 'API Key'
SECRET_KEY = '你的Secret Key'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
with open(img,'rb') as f:
image = f.read()
word = client.basicGeneral(image)
转换效果如下:

从图中可以看出,这样的转化方式还是比率还是很高的。
03批量提取
我们已经学会如何提取单张图片中的文字了,现在我们只要能够遍历图片就可以了。在上一篇 文章中,我们分享了一个遍历该目录下Excel文件的办法,遍历图片其实和他一样,只不过把Excel换成jpg即可。代码如下:
from pathlib import Path, PurePath
files = []
p = Path(src_path)
for x in p.iterdir():
if PurePath(x).match('*.jpg'):
files.append(x)
04小结
批量提取图片文字的思路是:
1. 注册百度AI的账号。
2. 通过调用百度AI,将图片中的文字提取。
3. 将提取出来的文字进行保存。
4. 依次遍历该目录下所有图片,重复2、3操作。