python 使用百度AI实现OCR文字识别
百度AI功能还是很强大的,百度AI开放平台真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别、MQTT服务器、语音识别等等,应有尽有。
执行 pip install baidu-aip
from aip import AipOcr
#更换为自己的注册信息
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)#创建连接
fp=open("img.png","rb").read()#打开并读取文件内容
res=client.basicGeneral(fp)#普通
#print(res)
#将所有的文字都合并到一起
strx=""
for tex in res["words_result"]:#遍历结果
strx+=tex["words"]#每一行
print(strx)#输出内容
在代码运行中会有一下报错:
KeyError: 'words_result'
原因是:QPS超限额,免费额度并发限制为2QPS,开通按量后付费或购买次数包后并发限制为10QPS,如您需要更多的并发量,可以选择购买QPS叠加包;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额。也就是说,我们没有免费的额度去调用接口,因此识别没有结果。
按如下操作:
1、在你创建的应用中,选择“免费领取资源” ;
2、进入后,会有一个通用场景识别,选择“全部”,然后进行领取(这里因为我已经领过了,所以就没有显示了);
3、领取完之后,回到刚刚那个界面,查看“资源列表”,可以看到自己已经领取的资源;
这样就可以识别成功啦~