Concept
tesseract
概述
详细说明在Linux/Windows环境下安装配置Tesseract OCR的完整流程,包含源码编译、环境变量配置及Python依赖安装方法。
什么是 tesseract
Tesseract 是 Google 开源的光学字符识别(OCR)引擎,基于 Leptonica 图像处理库,支持多语言文字识别,可通过训练自定义模型识别特定字体或图像内容。
核心概念
- 训练数据:由
.traineddata文件组成,定义语言模型和字符特征。 - 语言包:预训练的语言模型(如
eng英文、chi_sim简体中文),需通过tesseract命令加载。 - API 接口:提供 C++/Python 等语言的调用接口,支持图像预处理、文本布局分析(LAYOUT)和结果校验。
- 页面分割模式(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/bin或C:\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 # 查看已安装语言包 - 自定义训练模型:
- 准备训练图像(标注字符位置)
- 使用
tesseract生成.box文件 - 调用
combine_langs合并训练数据
5. 调优与调试
- 使用
--psm参数调整页面分割模式(如--psm 6适用于单块文本)。 - 通过
tesseract image.png output -c tessedit_char_whitelist=0123456789限制字符集。 - 结合 OpenCV 预处理图像(如
cv2.threshold()二值化)。
提示:生产环境建议使用 Docker 镜像(如 johndoe/tesseract)或通过 conda 管理依赖。