20行代码教你如何批量提取图片中文字

大家好,我是小瑜~

之前小瑜学习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操作。

点击即可获得源码。

你可能感兴趣的:(20行代码教你如何批量提取图片中文字)