Concept

tesseract

2026-04-24

概述

详细说明在Linux/Windows环境下安装配置Tesseract OCR的完整流程,包含源码编译、环境变量配置及Python依赖安装方法。

什么是 tesseract

Tesseract 是 Google 开源的光学字符识别(OCR)引擎,基于 Leptonica 图像处理库,支持多语言文字识别,可通过训练自定义模型识别特定字体或图像内容。


核心概念

  1. 训练数据:由 .traineddata 文件组成,定义语言模型和字符特征。
  2. 语言包:预训练的语言模型(如 eng 英文、chi_sim 简体中文),需通过 tesseract 命令加载。
  3. API 接口:提供 C++/Python 等语言的调用接口,支持图像预处理、文本布局分析(LAYOUT)和结果校验。
  4. 页面分割模式(PSM):定义图像文字区域的分割方式(如自动检测、单行文本等)。

典型应用场景

  • 文档数字化(PDF/扫描件转文本)
  • 表单数据提取(如发票、表格)
  • 图像文字内容检索(如验证码识别、书籍扫描)
  • 自动化测试(UI 自动化中的文字验证)

相关技术

  • Leptonica:图像处理库,提供图像缩放、二值化等预处理功能。
  • OpenCV:常用于图像预处理(降噪、灰度化)以提升 OCR 准确率。
  • Tesseract 训练工具:用于生成自定义 .traineddata 模型。
  • pytesseract:Python 封装库,简化 Tesseract API 调用。

学习路径建议

1. 环境准备

  • Linux

    1sudo apt install tesseract-ocr tesseract-ocr-chi-sim  # Debian/Ubuntu
    2sudo yum install tesseract tesseract-lang        # CentOS
    

    或从源码编译:

    1git clone https://github.com/tesseract-ocr/tesseract.git
    2cd tesseract && ./autogen.sh && ./configure && make && sudo make install
    
  • Windows
    下载预编译包(https://github.com/UB-Mannheim/tesseract/wiki),或通过 vcpkg 安装:

    1vcpkg install tesseract
    

2. 环境变量配置

  • 添加 tesseract 可执行文件路径到 PATH(如 /usr/local/binC:\Program Files\Tesseract)。
  • 验证安装:
    1tesseract --version
    

3. Python 依赖安装

1pip install pytesseract pillow
  • 确保 Python 脚本中设置 pytesseract.pytesseract_cmd 指向正确路径:
    1import pytesseract
    2pytesseract.pytesseract_cmd = r'C:\Program Files\Tesseract\tesseract.exe'
    

4. 进阶使用

  • 安装语言包:
    1tesseract --list-langs  # 查看已安装语言包
    
  • 自定义训练模型:
    1. 准备训练图像(标注字符位置)
    2. 使用 tesseract 生成 .box 文件
    3. 调用 combine_langs 合并训练数据

5. 调优与调试

  • 使用 --psm 参数调整页面分割模式(如 --psm 6 适用于单块文本)。
  • 通过 tesseract image.png output -c tessedit_char_whitelist=0123456789 限制字符集。
  • 结合 OpenCV 预处理图像(如 cv2.threshold() 二值化)。

提示:生产环境建议使用 Docker 镜像(如 johndoe/tesseract)或通过 conda 管理依赖。

相关来源