简介:本文将介绍如何使用Python和OCR(光学字符识别)库来批量识别图片中的文字,并将结果保存到txt文档中。我们将使用Tesseract OCR引擎和Python的pytesseract库来实现这一目标。
在开始之前,请确保已经安装了Tesseract OCR引擎和pytesseract库。如果没有安装,请先安装它们。安装命令如下:
# 安装Tesseract OCR引擎sudo apt-get install tesseract-ocr# 安装pytesseract库pip install pytesseract
接下来,我们将编写一个Python脚本,该脚本将批量识别图片中的文字,并将结果保存到txt文档中。
import osimport pytesseractfrom PIL import Image# 设置Tesseract OCR引擎的路径pytesseract.pytesseract.tesseract_cmd = r'/usr/bin/tesseract' # 根据你的系统路径进行修改# 定义保存结果的txt文件路径output_file = 'output.txt'# 定义图片所在的文件夹路径image_folder = 'images'# 遍历文件夹中的所有图片文件for filename in os.listdir(image_folder):if filename.endswith('.jpg') or filename.endswith('.png'): # 只处理jpg和png格式的图片文件image_path = os.path.join(image_folder, filename)text = pytesseract.image_to_string(Image.open(image_path)) # 使用pytesseract识别图片中的文字with open(output_file, 'a') as f: # 打开或创建输出txt文件,以追加模式写入结果f.write(text + '') # 将每张图片的文字结果写入txt文件,每个结果占一行
运行脚本后,它将遍历指定文件夹中的所有图片文件,并使用Tesseract OCR引擎识别其中的文字。识别结果将保存到名为“output.txt”的txt文件中。如果输出文件不存在,脚本将自动创建它。每张图片的文字结果将占据一行。
请注意,OCR技术的准确度取决于许多因素,包括图片质量、字体、字号、背景等。因此,在某些情况下,可能无法完全准确地识别出图片中的文字。如果需要更高的识别准确度,可以尝试使用更先进的OCR技术或对图片进行预处理(如降噪、二值化、去背景等)。