先要有百度的账号,在百度智能云的管理中心,找到人工智能-文字识别,然后选择创建应用,得到APP_ID、API_KEY、SECRECT_KEY三个关键参数。
百度智能云控制台
然后打开cmd,输入如下代码:
pip install baidu-aip
然后再新建个python文件,输入如下代码:
import osimport timefrom aip import AipOcr# 功能:将图片提交到百度OCR转换成文本。# 2020-5-30:添加了判断txt文本是否存在,存在的话不进行ocr# 2020-10-3:添加识别当前路径#在下面的三行输入自己的参数APP_ID = 'xxxxxxx'API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxx'SECRECT_KEY = 'xxxxxxxxxxxxxxxxxxxx'client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)path = os.getcwd() # 获取当前目录,图片目录fName = [] # 新建数组for root, dirs, files in os.walk(path): for name in files: # 在path里面查找文件 fName.append(os.path.join(root, name)) for name in dirs: # 在path子目录里面查找文件 fName.append(os.path.join(root, name))for f in fName: if f.split('.')[-1] == "jpg" or f.split('.')[-1] == "png": # 如果文件扩张名为jpg print(f) if not os.path.exists(path+(f.split("")[-1]).split(".") [0]+".txt"): t = open(path+(f.split("")[-1]).split(".") [0]+".txt", mode="w") # 创建与jpg同名的文档 img = open(f, 'rb').read() # 打开图片 message = client.basicAccurate(img) # 图片ocr try: res = message['words_result'] except Exception: time.sleep(6) message = client.basicAccurate(img) res = message['words_result'] for i in res: w = t.write(i['words']) # 将结果写入txt print(t.name) t.close() time.sleep(2) else: print("txt文件已存在")
把脚本放在需要文字识别的图片的目录,运行后就会得到同样文件名的txt文件,里面就是识别出来的文字了。