要实现批量提取图片中的文字,我们可以使用Python的pytesseract和Pillow库。pytesseract是一个OCR(Optical Character Recognition,光学字符识别)引擎,可以将图片中的文字转换为文本字符串。Pillow是一个Python Imaging Library(PIL),可以用来打开、处理和保存图像文件。
下面是一个使用这些库实现的简单脚本示例:
import os
from PIL import Image
import pytesseract
Set up paths and options
input_folder = "input"
output_folder = "output"
lang = "eng"
Create output folder if it does not exist
if not os.path.exists(output_folder):
os.makedirs(output_folder)
Loop through all images in the input folder
for filename in os.listdir(input_folder):
if filename.endswith((".png", ".jpg", ".jpeg", ".gif")):
image_path = os.path.join(input_folder, filename)
image = Image.open(image_path)
gray_image = image.convert("L")
text = pytesseract.image_to_string(gray_image, lang=lang)
text_filename = os.path.splitext(filename)[0] + ".txt"
text_path = os.path.join(output_folder, text_filename)
with open(text_path, "w") as text_file:
text_file.write(text)
print(f"Extracted text from {filename} and saved to {text_filename}.")
在这个程序中,我们首先设置了输入文件夹、输出文件夹和语言选项。然后,我们检查输入文件夹中的每个文件,只对图像文件进行处理。对于每个图像文件,我们使用Pillow库打开它,并将其转换为灰度图像以提高OCR准确性。接下来,我们使用pytesseract库提取图像中的文本,并将其保存到与原始图像同名的文本文件中。最后,我们打印出进度消息,指示我们已经从哪张图片中提取了文本并将其保存到哪个文本文件中。
当脚本执行完毕后,生成的文本文件将放置在“output”文件夹中,并与相应的输入图像文件具有相同的名称(但扩展名不同)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)