
tesserocr
Python 直连 Tesseract 引擎,细粒度控制 OCR 识别
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-10-27 · 当前星标 ★ 2180
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 3.9 及以上版本(不再支持 Python 2)
- libtesseract >= 3.04
- libleptonica >= 1.71
- pkg-config(源码编译时需要)
- Debian/Ubuntu 系统可用 apt 安装依赖
安装与启动步骤
-
1安装系统依赖
在 Debian/Ubuntu 上一次性安装 Tesseract 运行时、开发头文件和 leptonica 开发包,供后续编译使用。
apt-get install tesseract-ocr libtesseract-dev libleptonica-dev pkg-config -
2确认 Tesseract 版本
检查已安装的 Tesseract 版本,低于 3.04 时需按官方文档手动编译更新版本。
tesseract --version -
3安装 tesserocr
系统依赖就绪后,从 PyPI 安装 tesserocr 库本身。
pip install tesserocr -
4验证导入
在 Python 中导入 tesserocr,确认 Cython 扩展能与本机 Tesseract 库正常链接。
python -c "import tesserocr; print('ok')" -
5配置库搜索路径
若 Tesseract 装在非默认位置,需把其库目录加入 LD_LIBRARY_PATH,否则导入会失败。
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH -
6运行识别示例
用 Pillow 打开图片并交给 tesserocr 识别,验证 OCR 流程可用。
python -c "from PIL import Image; import tesserocr; print(tesserocr.image_to_text(Image.open('test.png')))"
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
LD_LIBRARY_PATH | 否 | 指定 Tesseract/Leptonica 动态库所在目录,供运行时加载 | /usr/local/lib |
如何确认成功
执行 python -c "import tesserocr" 无报错,说明扩展已成功链接本机 Tesseract 库。
常见问题
Q:导入时报找不到 libtesseract 怎么办?
A:确认已安装 libtesseract-dev,并检查库文件所在目录是否已加入 LD_LIBRARY_PATH。
Q:编译时报 pkg-config 相关错误?
A:安装 pkg-config 包,并确认 libleptonica-dev 已装好,pkg-config 才能定位依赖。
Q:能用 Python 2 吗?
A:不能,tesserocr 已不支持 Python 2,需要 Python 3.9 及以上版本。
Q:系统自带 Tesseract 版本太旧?
A:可自行手动编译较新的 Tesseract,再重新安装 tesserocr 并更新库路径。
注意事项
- README 只给出 Debian/Ubuntu 的依赖安装方式,其他系统请参照相同依赖自行准备。
- libtesseract 与 libleptonica 的开发包必须与运行时包同时安装,否则源码编译会失败。
- 更新 Tesseract 后需要同步检查 LD_LIBRARY_PATH,避免加载到旧版本库。
核心亮点
- 直接绑定 Tesseract C++ API,省去子进程启动开销,批量处理时性能优于命令行调用
- 可编程控制语言、页面分割模式、OCR 引擎模式等参数,并能拿到逐词置信度与边界框等结构化结果
- 提供迭代器接口按版面遍历识别单元,便于做版面分析和字段级后处理
不足之处
- 需要本机安装 Tesseract 开发库和语言包,Cython 编译环节对新手不够友好
- API 偏底层,文档以示例为主,复杂版面处理仍需自行封装
- 识别精度受 Tesseract 本身限制,对复杂排版和低质量图像效果有限
适用场景
- 批量扫描文档的文本提取与数字化归档
- 票据、表单等固定版面的字段定位与识别
- 图像预处理算法的 OCR 效果快速验证与调参
替代项目
pytesseract、easyocr、PaddleOCR
上一篇:iOS-OCR-Server
下一篇:gImageReader
同类项目推荐
Dual-task-Pose-Transformer-Netwo···
开源
上传人物照片和姿态,一键生成自然摆姿的新图像
[CVPR 2022] Exploring Dual-task Correlation for Pose Guided Person Image Generation
MaterialPalette
开源
一张照片,提取材质贴图,直接用于渲染和编辑。
[CVPR 2024] Official repository of "Material Palette: Extraction of Materials from a···
GC-VLN
开源
不训练模型,用图约束让机器人听懂指令找路
[CoRL 2025] GC-VLN: Instruction as Graph Constraints for Training-free Vision-and-La···
Anime2Sketch
开源
一键将动漫图变线稿,省去手工描线
A sketch extractor for anime/illustration.
gImageReader
开源
桌面点点鼠标,把图片和扫描件变成可复制文字
A Gtk/Qt front-end to tesseract-ocr.
在ComfyUI里用一句话,自动分割图像中任何物体
Based on GroundingDino and SAM, use semantic strings to segment any element in an im···
HugsVision
开源
一行代码调用 Hugging Face 视觉模型,快速实现分类、检测与生成
HugsVision is a easy to use huggingface wrapper for state-of-the-art computer vision
xvr
开源
5分钟训出患者专属2D/3D配准模型
[Nature] Training patient-specific 2D/3D registration models in 5 minutes
annolid
开源
拖拽标注视频,自动追踪动物并分析行为
An annotation and instance segmentation-based multi-object tracking and behavior ana···