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操作。