欢迎访问宙启技术站
智能推送

通过pytesseract库在Python中实现中文文字批量识别的方法

发布时间:2023-12-25 04:57:03

要使用pytesseract库在Python中实现中文文字批量识别,首先需要确保已经正确安装了Tesseract OCR引擎和pytesseract库。

1. 安装Tesseract OCR引擎:

- Windows:从 https://github.com/UB-Mannheim/tesseract/wiki 下载并安装适用于Windows的最新版本。

- Linux:使用包管理器(如apt-get)安装tesseract软件包。

- macOS:使用brew安装tesseract软件包。

2. 安装pytesseract库:

- 使用pip命令安装:pip install pytesseract

3. 导入pytesseract库和PIL库(用于图像处理):

import pytesseract
from PIL import Image

4. 设置Tesseract OCR引擎的路径(仅适用于Windows系统):

pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

5. 编写识别函数,读取图片并进行文字识别:

def recognize_text(image_path):
    image = Image.open(image_path)  # 读取图片
    text = pytesseract.image_to_string(image, lang='chi_sim')  # 文字识别,指定中文语言包
    return text

6. 批量识别多张图片的示例:

image_folder = '/path/to/images'  # 图片目录
result_file = '/path/to/result.txt'  # 结果保存文件

image_paths = os.listdir(image_folder)  # 获取图片目录下所有图片的文件名

with open(result_file, 'w', encoding='utf-8') as f:
    for image_path in image_paths:
        image_path = os.path.join(image_folder, image_path)  # 构建图片路径
        text = recognize_text(image_path)  # 调用识别函数
        f.write(f'图片:{image_path}
{text}

')  # 将识别结果写入文件

以上代码将识别 image_folder 目录下的所有图片,并将识别结果保存到 result_file 文件中。每张图片的识别结果按照 "图片路径

识别结果

" 的格式进行保存。

请注意,文字识别的结果可能会受到图片质量、文字样式等因素的影响,因此结果可能不是完全准确。可以根据需要调整 Tesseract OCR 引擎的参数以及后续的文本清理和处理方法来改善识别结果。