tesserocr

Python 直连 Tesseract 引擎,细粒度控制 OCR 识别

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 计算机视觉 🍴 复刻 261 🐛 待处理 45 👀 关注 55
GitHub ↗
GitHub 星标 ★ 2180
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,遵循 Tesseract 相关许可证

项目预览

tesserocr 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类计算机视觉
开发团队sirfz
定价模式🏷️完全免费
价格说明开源免费,遵循 Tesseract 相关许可证
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型cython,ocr,optical-character-recognition,python-library,tesseract
GitHub 星标★ 2180
上线时间2015-12-17 00:00:00
代码更新2026-10-22
仓库体积699 KB
本站数据更新2026-10-27
维护状态活跃
收录时间2026-10-27
浏览次数0

项目介绍

tesserocr 是 Tesseract OCR 引擎的 Python Cython 封装库,解决 Python 调用 Tesseract 时只能走命令行、无法精细控制识别流程的问题。它直接绑定 Tesseract 的 C++ API,无需启动子进程,可编程设置识别语言、页面分割模式、OCR 引擎模式等参数,支持从文件、PIL 图像或内存缓冲区读取图像,返回文字、置信度、边界框和逐词/逐行结构化结果,还提供迭代器接口按布局遍历识别单元。相比 pytesseract 的 subprocess 方式,它调用开销更低、可控粒度更细,适合批量文档数字化、票据与表单字段抽取、图像预处理后快速验证识别效果等场景。项目以 Cython 编写,需要本机安装 Tesseract 开发库及语言数据,属于偏底层的工程化工具,适合对 OCR 流程有定制需求、愿意处理编译与依赖问题的开发者。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-10-27 · 当前星标 ★ 2180

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 10 分钟 部署方式:本地安装 6 步

环境要求

  • Python 3.9 及以上版本(不再支持 Python 2)
  • libtesseract >= 3.04
  • libleptonica >= 1.71
  • pkg-config(源码编译时需要)
  • Debian/Ubuntu 系统可用 apt 安装依赖

安装与启动步骤

  1. 1安装系统依赖

    在 Debian/Ubuntu 上一次性安装 Tesseract 运行时、开发头文件和 leptonica 开发包,供后续编译使用。

    apt-get install tesseract-ocr libtesseract-dev libleptonica-dev pkg-config
  2. 2确认 Tesseract 版本

    检查已安装的 Tesseract 版本,低于 3.04 时需按官方文档手动编译更新版本。

    tesseract --version
  3. 3安装 tesserocr

    系统依赖就绪后,从 PyPI 安装 tesserocr 库本身。

    pip install tesserocr
  4. 4验证导入

    在 Python 中导入 tesserocr,确认 Cython 扩展能与本机 Tesseract 库正常链接。

    python -c "import tesserocr; print('ok')"
  5. 5配置库搜索路径

    若 Tesseract 装在非默认位置,需把其库目录加入 LD_LIBRARY_PATH,否则导入会失败。

    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
  6. 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

同类项目推荐

MaterialPalette 开源

一张照片,提取材质贴图,直接用于渲染和编辑。

[CVPR 2024] Official repository of "Material Palette: Extraction of Materials from a···

★ 286 2026-08-09
GC-VLN 开源

不训练模型,用图约束让机器人听懂指令找路

[CoRL 2025] GC-VLN: Instruction as Graph Constraints for Training-free Vision-and-La···

★ 85 2026-08-09
Anime2Sketch 开源

一键将动漫图变线稿,省去手工描线

A sketch extractor for anime/illustration.

★ 2138 2026-08-09
gImageReader 开源

桌面点点鼠标,把图片和扫描件变成可复制文字

A Gtk/Qt front-end to tesseract-ocr.

★ 2011 2026-10-27
comfyui_segment_anything 开源

在ComfyUI里用一句话,自动分割图像中任何物体

Based on GroundingDino and SAM, use semantic strings to segment any element in an im···

★ 1116 2026-08-09
HugsVision 开源

一行代码调用 Hugging Face 视觉模型,快速实现分类、检测与生成

HugsVision is a easy to use huggingface wrapper for state-of-the-art computer vision

★ 199 2026-08-09
xvr 开源

5分钟训出患者专属2D/3D配准模型

[Nature] Training patient-specific 2D/3D registration models in 5 minutes

★ 195 2026-10-17
annolid 开源

拖拽标注视频,自动追踪动物并分析行为

An annotation and instance segmentation-based multi-object tracking and behavior ana···

★ 59 2026-08-09