Post
从零开始:在Linux/Windows上安装配置Tesseract OCR的完整指南
概述
Tesseract 是开源的光学字符识别(OCR)引擎,支持多语言识别。本文详细说明在 Linux/Windows 环境下安装配置 Tesseract 的完整流程,涵盖源码编译、环境变量配置及 Python 依赖安装方法。
核心概念
- Tesseract OCR:开源 OCR 引擎,支持多语言识别,依赖 Leptonica 图像处理库。
- Leptonica:图像处理库,为 Tesseract 提供基础功能,如图像缩放、二值化等。
- 环境变量配置:确保系统能正确定位 Tesseract 可执行文件和语言包路径。
安装与配置方法
Linux 环境
1. 系统准备
- Python 版本:建议使用 Python 3.8.1 及以上版本。
- 更新源:添加阿里云 Kali Linux 源以加速安装:
1echo "deb [https://mirrors.aliyun.com/kali](https://mirrors.aliyun.com/kali) kali-rolling main non-free contrib" | sudo tee /etc/apt/sources.list.d/kali.list 2echo "deb-src [https://mirrors.aliyun.com/kali](https://mirrors.aliyun.com/kali) kali-rolling main non-free contrib" | sudo tee -a /etc/apt/sources.list.d/kali.list 3sudo apt update && sudo apt upgrade
2. 安装 Tesseract
方法一:包管理器安装
1sudo apt install tesseract-ocr
方法二:源码编译安装
-
安装依赖
1sudo apt install autoconf automake pkg-config libtool libjpeg-dev libpng-dev libtiff-dev zlib1g-dev -
编译 Leptonica
- 下载源码:Leptonica GitHub
- 解压并编译:
1tar -xzvf leptonica-1.82.0.tar.gz 2cd leptonica-1.82.0 3./configure 4make 5sudo make install - 配置环境变量:
1export LD_LIBRARY_PATH=/usr/local/lib 2export LIBLEPT_HEADERSDIR=/usr/local/include 3export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
-
编译 Tesseract
- 下载源码:Tesseract GitHub
- 编译安装:
1tar -xzvf tesseract-5.2.0.tar.gz 2cd tesseract-5.2.0 3./autogen.sh 4./configure 5make 6sudo make install - 配置环境变量:
1export PATH=$PATH:/usr/local/tesseract/bin 2export TESSDATA_PREFIX=/usr/local/share/tessdata
3. 配置语言包
- 将
tessdata目录复制到/usr/local/share/tessdata,并下载所需语言包(如chi_sim.traineddata)至同一目录。
4. 常见问题解决
- 错误:
libtesseract.so缺失- 检查环境变量是否配置正确。
- 确认
/usr/local/lib存在libtesseract.so。 - 执行
sudo ldconfig更新共享库缓存。
Windows 环境
1. 系统要求
- Python 版本:推荐 Python 3.8.x,避免与
opencv-python兼容性问题。 - 补丁库:安装 VC++ Redistributable。
2. 安装 Tesseract
- 下载安装包:UB Mannheim Tesseract
- 配置环境变量:
- 添加
tesseract-ocr安装路径(如C:\Program Files\Tesseract-OCR)到PATH。 - 添加
tessdata路径(如C:\Program Files\Tesseract-OCR\tessdata)到PATH。
- 添加
3. Python 依赖安装
1pip install opencv-python pyperclip mss pytesseract pyautogui numpy
- Windows 置顶方案:参考 Juejin 教程。
Python 集成示例
1import pytesseract
2from PIL import Image
3
4# 读取图像并识别
5image = Image.open("sample.png")
6text = pytesseract.image_to_string(image, lang="chi_sim")
7print(text)
常见问题与注意事项
- 版本兼容性:确保 Tesseract 与 Leptonica 版本匹配,避免编译错误。
- 环境变量生效:修改
/etc/profile或系统环境变量后,执行source /etc/profile或重启终端。 - 语言包路径:
TESSDATA_PREFIX必须指向包含tessdata的目录,否则识别功能失效。
总结
Tesseract 的安装需注意依赖库(如 Leptonica)的编译顺序及环境变量配置。Linux 环境推荐使用源码编译以获得最新功能,而 Windows 用户可直接通过安装包简化流程。Python 集成时,确保 pytesseract 与 Tesseract 路径一致,避免运行时错误。