前段时间,我的好朋友超超突然@我:“我这里有100多张图片,你有什么办法可以批量对图片进行文字识别吗?我现在用QQ一个一个识别的,速度特别特别慢。”
我说:“没问题,交给我!”
随后超超把所有图片打包发给了我,一共350MB。
打开文件夹,如下图:
随机打开一张图片,如下图:
接下来的任务就是写代码了,话不多说,直接上代码,如下图:
#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里面,如下图:
运行结果显示一共识别了109张图片,说明图片已经全部识别完毕,运行时间为399.7秒。
这样就轻松实现了批量识别图片的功能,是不是很实用、很方便?
当然,这种方法的应用前提是在有很多图片需要文字识别的情况下,如果只是一两张图片的话,就不用费这个劲儿了。
喜欢小编的文章或者想更多了解小编的话
可以扫一扫关注小编的个人公众号
小编微信