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 简介 | 下一章: 基本使用