Python批量识别图片中的文字并保存到txt文档中

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")

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值