python实现批量提取图片中文字的小工具

要实现批量提取图片中的文字,我们可以使用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"  # Language of the text in the images

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):
    # Check if file is an image
    if filename.endswith((".png", ".jpg", ".jpeg", ".gif")):
        # Open the image with Pillow
        image_path = os.path.join(input_folder, filename)
        image = Image.open(image_path)

        # Convert image to grayscale (to improve OCR accuracy)
        gray_image = image.convert("L")

        # Use pytesseract to extract the text from the image
        text = pytesseract.image_to_string(gray_image, lang=lang)

        # Save the extracted text to a file in the output folder
        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 progress message
        print(f"Extracted text from {filename} and saved to {text_filename}.")

在这个程序中,我们首先设置了输入文件夹、输出文件夹和语言选项。然后,我们检查输入文件夹中的每个文件,只对图像文件进行处理。对于每个图像文件,我们使用Pillow库打开它,并将其转换为灰度图像以提高OCR准确性。接下来,我们使用pytesseract库提取图像中的文本,并将其保存到与原始图像同名的文本文件中。最后,我们打印出进度消息,指示我们已经从哪张图片中提取了文本并将其保存到哪个文本文件中。

当脚本执行完毕后,生成的文本文件将放置在“output”文件夹中,并与相应的输入图像文件具有相同的名称(但扩展名不同)。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

高山莫衣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值