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 手动安装
- 下载安装包:UB Mannheim Builds
- 运行安装程序
- 添加到 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/ |
| Windows | C:\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 | 缺少 Leptonica | apt 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) |
| 必装语言包 | eng、chi_sim(按需) |
| 模型选择 | 一般用 tessdata,高精度用 tessdata_best |
| 源码编译 | 仅在需要最新特性时使用 |
| 环境变量 | 设置 TESSDATA_PREFIX |
2.13 扩展阅读
上一章: Tesseract 简介 | 下一章: 基本使用