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 Imageimport string,re,osimport 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 = 0for fe in filenames:grpaimg = imgpath + '/' + fetextddd = imgtostr(grpaimg)writefile(txtpath, grpaimg+":\n"+textddd)print(grpaimg, textddd, end="\n\n")