使用Python进行批量图片和PDF的OCR识别与重命名

作者:谁偷走了我的奶酪2024.01.08 03:31浏览量:5

简介:介绍如何使用Python进行批量图片和PDF的OCR识别,以及如何将识别的文字用于重命名图片。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

要实现批量图片和PDF的OCR识别,并将识别的文字用于重命名图片,我们可以使用Python结合一些强大的库来完成。这里是一个大致的步骤指南:
步骤1:安装必要的库
首先,你需要安装一些Python库,包括但不限于pytesseract(用于OCR识别)、pdf2image(用于从PDF提取图像)和Pillow(用于处理图像)。你可以使用pip来安装这些库:

  1. pip install pytesseract pdf2image Pillow

步骤2:批量OCR识别
接下来,你需要一个循环来处理所有的图片或PDF文件。对于图片文件,你可以使用pytesseract.image_to_string方法直接从图像中提取文本。对于PDF文件,你可能需要先将它们转换为图像,然后再进行OCR识别。
这里是一个简单的例子,展示如何从一组图片中提取文本:

  1. import pytesseract
  2. from PIL import Image
  3. import os
  4. # 更改到你的图片文件夹路径
  5. img_folder = 'path_to_your_image_folder'
  6. output_folder = 'path_to_output_folder'
  7. # 遍历文件夹中的所有图片文件
  8. for filename in os.listdir(img_folder):
  9. if filename.endswith('.jpg') or filename.endswith('.png'): # 确保只处理图片文件
  10. img = Image.open(os.path.join(img_folder, filename))
  11. text = pytesseract.image_to_string(img)
  12. # 这里你可以将识别的文本保存到文件或其他地方
  13. print(f'Extracted text from {filename}: {text}
  14. ')

对于PDF文件,你可以使用pdf2image将它们转换为图片,然后像上面那样处理。转换PDF文件的代码如下:

  1. from pdf2image import convert_from_path
  2. import os
  3. # 更改到你的PDF文件夹路径
  4. pdf_folder = 'path_to_your_pdf_folder'
  5. output_folder = 'path_to_output_folder'
  6. # 遍历文件夹中的所有PDF文件
  7. for filename in os.listdir(pdf_folder):
  8. if filename.endswith('.pdf'): # 确保只处理PDF文件
  9. images = convert_from_path(os.path.join(pdf_folder, filename))
  10. for i, img in enumerate(images): # 对转换后的每个图像进行处理
  11. text = pytesseract.image_to_string(img)
  12. # 这里你可以将识别的文本保存到文件或其他地方,比如:重命名图像文件
  13. new_filename = f'{filename[:-4]}_{i}_{text}.png’ # 示例:将识别的文本添加到文件名中
  14. img.save(os.path.join(output_folder, new_filename))

请注意,上述代码仅作为示例,你可能需要根据实际需求进行调整。例如,你可能需要调整OCR识别的参数或对提取的文本进行进一步处理。此外,对于PDF文件,你可能还需要处理多页的情况。

article bottom image

相关文章推荐

发表评论