强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Tesseract OCR 完整教程 / 第 2 章:安装与配置

第 2 章:安装与配置

从包管理器安装到源码编译,覆盖所有平台的安装方式。

2.1 安装概览

安装方式选择
├── 包管理器安装(推荐)
│   ├── Ubuntu/Debian: apt
│   ├── CentOS/RHEL: yum/dnf
│   ├── macOS: brew
│   └── Windows: choco/winget
├── 源码编译安装
│   └── 需要最新特性或自定义配置时
└── Docker
    └── 见第 11 章

2.2 Ubuntu/Debian 安装

2.2.1 基本安装

# 更新包列表
sudo apt update

# 安装 Tesseract 及英文语言包
sudo apt install tesseract-ocr tesseract-ocr-eng

# 验证安装
tesseract --version

2.2.2 安装语言包

# 查看可用语言包
apt search tesseract-ocr-

# 常用语言包
sudo apt install tesseract-ocr-chi-sim    # 中文简体
sudo apt install tesseract-ocr-chi-tra    # 中文繁体
sudo apt install tesseract-ocr-jpn        # 日文
sudo apt install tesseract-ocr-kor        # 韩文
sudo apt install tesseract-ocr-ara        # 阿拉伯文
sudo apt install tesseract-ocr-deu        # 德文
sudo apt install tesseract-ocr-fra        # 法文
sudo apt install tesseract-ocr-spa        # 西班牙文
sudo apt install tesseract-ocr-por        # 葡萄牙文
sudo apt install tesseract-ocr-rus        # 俄文

# 安装所有语言包(较大,约 1GB+)
sudo apt install tesseract-ocr-all

# 安装开发库(如需编程接口)
sudo apt install libtesseract-dev

2.2.3 安装依赖库

# 安装 Leptonica(Tesseract 依赖的图像处理库)
sudo apt install libleptonica-dev

# 安装其他可选依赖
sudo apt install \
    libpng-dev \
    libjpeg-dev \
    libtiff-dev \
    libwebp-dev \
    libopenjp2-7-dev \
    zlib1g-dev

2.3 CentOS/RHEL 安装

2.3.1 CentOS 8+ / RHEL 8+

# 启用 EPEL 仓库
sudo dnf install epel-release

# 安装 Tesseract
sudo dnf install tesseract tesseract-langpack-eng

# 安装中文语言包
sudo dnf install tesseract-langpack-chi_sim tesseract-langpack-chi_tra

# 验证
tesseract --version

2.3.2 CentOS 7

# CentOS 7 需要源码编译,见 2.7 节
# 或使用第三方仓库
sudo yum install -y epel-release
sudo yum install -y tesseract

2.4 macOS 安装

2.4.1 使用 Homebrew(推荐)

# 安装 Homebrew(如未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 Tesseract
brew install tesseract

# 安装语言包
brew install tesseract-lang    # 所有语言

# 验证
tesseract --version

2.4.2 使用 MacPorts

sudo port install tesseract
sudo port install tesseract-eng
sudo port install tesseract-chi_sim

2.5 Windows 安装

2.5.1 使用 winget

# 安装 Tesseract
winget install UB-Mannheim.TesseractOCR

# 默认安装路径
# C:\Program Files\Tesseract-OCR

2.5.2 使用 Chocolatey

# 安装 Chocolatey(如未安装)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# 安装 Tesseract
choco install tesseract

2.5.3 手动安装

  1. 下载安装包:UB Mannheim Builds
  2. 运行安装程序
  3. 添加到 PATH:C:\Program Files\Tesseract-OCR
# 添加到 PATH(PowerShell 管理员)
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Tesseract-OCR", "Machine")

# 设置 TESSDATA_PREFIX(可选)
[Environment]::SetEnvironmentVariable("TESSDATA_PREFIX", "C:\Program Files\Tesseract-OCR\tessdata", "Machine")

2.6 语言包管理

2.6.1 语言包列表

# 查看已安装语言
tesseract --list-langs

# 输出示例
# List of available languages in "/usr/share/tesseract-ocr/5/tessdata/" (3):
# eng
# chi_sim
# osd

2.6.2 语言数据文件说明

文件用途大小(约)
eng.traineddata英文识别4MB
chi_sim.traineddata中文简体55MB
chi_tra.traineddata中文繁体70MB
jpn.traineddata日文30MB
kor.traineddata韩文25MB
osd.traineddata方向/脚本检测10MB
equ.traineddata数学公式1MB

2.6.3 手动下载语言包

# 从 GitHub 下载
wget https://github.com/tesseract-ocr/tessdata/raw/main/chi_sim.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/main/chi_tra.traineddata

# 移动到 tessdata 目录
sudo mv *.traineddata /usr/share/tesseract-ocr/5/tessdata/

2.6.4 使用 best 模型(更高精度)

# 下载 best 模型(更大,精度更高)
wget https://github.com/tesseract-ocr/tessdata_best/raw/main/eng.traineddata
wget https://github.com/tesseract-ocr/tessdata_best/raw/main/chi_sim.traineddata

# 替换默认模型
sudo mv eng.traineddata /usr/share/tesseract-ocr/5/tessdata/
sudo mv chi_sim.traineddata /usr/share/tesseract-ocr/5/tessdata/

模型类型对比

类型精度大小速度适用场景
tessdata_fast一般实时处理、批量处理
tessdata标准中等中等一般场景
tessdata_best最高高精度要求

2.7 源码编译安装

2.7.1 适用场景

  • 需要最新特性
  • 需要自定义编译选项
  • 包管理器版本过旧
  • 需要 GPU 加速(实验性)

2.7.2 Ubuntu/Debian 编译

# 安装编译依赖
sudo apt install -y \
    autoconf \
    automake \
    libtool \
    pkg-config \
    libpng-dev \
    libjpeg-dev \
    libtiff-dev \
    zlib1g-dev \
    libleptonica-dev \
    libicu-dev \
    libpango1.0-dev \
    libcairo2-dev \
    git

# 克隆源码
git clone https://github.com/tesseract-ocr/tesseract.git
cd tesseract

# 选择版本(推荐最新稳定版)
git checkout 5.3.4    # 或其他版本

# 编译
./autogen.sh
mkdir build && cd build
../configure --prefix=/usr/local
make -j$(nproc)
sudo make install
sudo ldconfig

# 验证
tesseract --version

2.7.3 自定义编译选项

# 查看所有配置选项
./configure --help

# 常用选项
./configure \
    --prefix=/usr/local \
    --enable-openmp \          # 启用多线程
    --enable-legacy \          # 启用旧引擎(不推荐)
    --disable-graphics \       # 禁用图形(服务器环境)
    --with-extra-includes=/usr/include \
    --with-extra-libraries=/usr/lib

# 安装训练工具
make training
sudo make training-install

2.7.4 macOS 编译

# 安装依赖
brew install automake autoconf libtool pkg-config leptonica

# 克隆并编译
git clone https://github.com/tesseract-ocr/tesseract.git
cd tesseract
./autogen.sh
mkdir build && cd build
../configure --prefix=/usr/local
make -j$(sysctl -n hw.ncpu)
sudo make install

2.8 环境变量配置

2.8.1 核心环境变量

# TESSDATA_PREFIX: 训练数据目录
export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata

# 添加到 ~/.bashrc 或 ~/.zshrc
echo 'export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata' >> ~/.bashrc
source ~/.bashrc

2.8.2 查找 tessdata 目录

# 方法 1: 使用 tesseract 命令
tesseract --list-langs 2>&1 | head -1

# 方法 2: 查找文件
find / -name "eng.traineddata" 2>/dev/null

# 方法 3: 检查环境变量
echo $TESSDATA_PREFIX

2.8.3 多平台 tessdata 路径

平台默认路径
Ubuntu/Debian/usr/share/tesseract-ocr/5/tessdata/
CentOS/RHEL/usr/share/tesseract/4/tessdata/
macOS (Homebrew)/opt/homebrew/share/tessdata/
WindowsC:\Program Files\Tesseract-OCR\tessdata

2.9 Python 环境配置

2.9.1 安装 pytesseract

# 安装 Python 封装
pip install pytesseract

# 安装 Pillow(图像处理)
pip install Pillow

# 安装 OpenCV(可选,用于预处理)
pip install opencv-python

2.9.2 验证 Python 环境

import pytesseract
from PIL import Image

# 检查 Tesseract 版本
print(pytesseract.get_tesseract_version())

# 检查可用语言
print(pytesseract.get_languages())

# 简单测试
img = Image.new('RGB', (200, 50), color='white')
text = pytesseract.image_to_string(img)
print(f"识别结果: '{text.strip()}'")

2.10 版本选择建议

2.10.1 不同场景推荐

场景推荐版本原因
生产环境5.3+稳定、性能好
学习/实验最新功能最全
兼容旧系统4.1兼容性好
资源受限4.0占用少

2.10.2 版本升级注意事项

# 备份当前配置
cp -r /usr/share/tesseract-ocr /usr/share/tesseract-ocr.bak

# 升级后验证
tesseract --version
tesseract --list-langs

# 测试识别效果
tesseract test.png output -l chi_sim+eng

2.11 安装问题排查

2.11.1 常见问题

问题原因解决方案
tesseract: command not found未安装或不在 PATH安装或配置 PATH
Error opening data file缺少语言包安装对应语言包
LEPTONICA not found缺少 Leptonicaapt install libleptonica-dev
No such language: chi_sim未安装中文包apt install tesseract-ocr-chi-sim
识别结果为空图片问题或语言错误检查图片和语言参数

2.11.2 诊断命令

# 完整诊断
echo "=== Tesseract Version ==="
tesseract --version

echo "=== Available Languages ==="
tesseract --list-langs

echo "=== TESSDATA_PREFIX ==="
echo $TESSDATA_PREFIX

echo "=== tessdata contents ==="
ls -la /usr/share/tesseract-ocr/5/tessdata/

echo "=== Test OCR ==="
# 需要准备测试图片
# tesseract test.png stdout -l eng

2.12 本章小结

要点说明
推荐安装方式包管理器(apt/brew/winget)
必装语言包engchi_sim(按需)
模型选择一般用 tessdata,高精度用 tessdata_best
源码编译仅在需要最新特性时使用
环境变量设置 TESSDATA_PREFIX

2.13 扩展阅读


上一章: Tesseract 简介 | 下一章: 基本使用