Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了。
1、需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的
2、下载打开后双击打开,选择安装位置,然后一路下一步即可安装完成
3、安装完成需要设置一下环境变量,设置环境变量需自行百度,非常简单
4、安装所需要的Python模块,直接执行以下命令
pip install pillow==9.2.0
pip install pytesseract==0.3.9
5、最后还需要一个语言包文件:chi_sim.traineddata,这个文件需才能下,有需要的找我可以发给他
注:我的Python版本是3.7,3.8也是可以的,但3.9及以上会出问题,建议你也用3.7
Tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/
代码如下:
# encoding=utf8
'''
Python批量识别图片中的文字并保存到txt文档中
'''
# 导入包
from PIL import Image
import string,re,os
import pytesseract
# 定义方法
def imgtostr(imgpath):
'''识别图片中的所有文字'''
image = Image.open(imgpath)
text = pytesseract.image_to_string(image,
lang = 'chi_sim') # 使用简体中文解析图片
return text.replace("\n", "") # 去掉换行
def writefile(txtpath,strstr):
'''将文字累加并写入txt文档'''
with open(txtpath, "a", encoding= "utf-8") as f:
f.write(strstr) # 写入文件
f.write("\n\n")
if __name__ == '__main__':
# 存放待识别图片的目录,支持所有图片格式
imgpath = r'D:\Test\image'
# 识别结果保存的txt文件路径
txtpath = r'D:\Test\word.txt'
# 开始执行
for a, b, filenames in os.walk(imgpath):
toltal = 0
for fe in filenames:
grpaimg = imgpath + '/' + fe
textddd = imgtostr(grpaimg)
writefile(txtpath, grpaimg+":\n"+textddd)
print(grpaimg, textddd, end="\n\n")