python 图片文字及其文字位置_教你用Python批量对图片进行文字识别

前段时间,我的好朋友超超突然@我:“我这里有100多张图片,你有什么办法可以批量对图片进行文字识别吗?我现在用QQ一个一个识别的,速度特别特别慢。”

我说:“没问题,交给我!”

随后超超把所有图片打包发给了我,一共350MB。

打开文件夹,如下图:

8ebe6a8ab450afb8ebbe5217aa9ea240.png

随机打开一张图片,如下图:

2a1f4db191be043577ffe0090c329397.png

接下来的任务就是写代码了,话不多说,直接上代码,如下图:

#coding=utf-8from aip import AipOcrimport reimport xlsxwriterimport osAPP_ID="16756034"API_KEY="eAIbqQ1oN14RreDd8521v5xH"SECRET_KEY="dflMjOV7RvgqnlH2NIyPZDkIVip2PF5G"client=AipOcr(APP_ID,API_KEY,SECRET_KEY)path = 'F:\B\Python库\A 相关资料\图片识别\柳老师手机照片'def get_filelist(dir):    Filelist = []    for home, dirs, files in os.walk(path):        for filename in files:             # 文件名列表,包含完整路径            Filelist.append(os.path.join(home, filename))             # # 文件名列表,只包含文件名             # Filelist.append( filename)    return Filelistif __name__ == "__main__" :    Filelist = get_filelist(dir)    print ("共发现",len( Filelist),"个文件")    for file in  Filelist :        print ("\n,file," 文字识别如下>\n--------------------------------------------------")        with open(file,"rb") as f:            image=f.read()        data=str(client.basicGeneral(image)).replace(" ","")        pat=re.compile(r"{'words':'(.*?)'}")        result=pat.findall(data)        for i in range(0,len(result)):            print(result[i])

结果运行如下:

然后再把运行结果全部复制到Excel里面,如下图:

90619d8138697482a79fcb7402e23092.png

92c6aead6479ecb3ad13fec50afa6f86.png

运行结果显示一共识别了109张图片,说明图片已经全部识别完毕,运行时间为399.7秒。

这样就轻松实现了批量识别图片的功能,是不是很实用、很方便?

当然,这种方法的应用前提是在有很多图片需要文字识别的情况下,如果只是一两张图片的话,就不用费这个劲儿了。

喜欢小编的文章或者想更多了解小编的话

可以扫一扫关注小编的个人公众号

e8bb2916675e1b823cdf14cbe3e93573.png

小编微信

bcc1fed96839693d2e9a888772e544e7.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值