Tesseract 开源 OCR 引擎(主存储库)
github地址
https://github.com/tesseract-ocr/tesseract
官方网址
tesseract-ocr.github.io/
Tesseract 是一个开源的光学字符识别(OCR)引擎,它能够从图像文件中识别和提取文字。Tesseract 由 Ray Smith 在 1985 到 1995 年间在惠普公司(Hewlett-Packard)的布里斯托尔实验室开发。在 2005 年,Tesseract 被惠普开源,并且自 2006 年以来,它一直在由 Google 进行维护和开发。
Tesseract 的主要特点包括:
1. 多语言支持:Tesseract 支持多种语言,包括但不限于英语、中文、西班牙语、法语、德语等。它通过使用预训练的语言模型来提高识别的准确性。
2. 平台兼容性:Tesseract 可以在多种操作系统上运行,包括 Windows、Linux、Mac OS X 等。
3. 命令行工具:Tesseract 主要作为一个命令行工具提供,用户可以通过命令行接口与它交互,执行 OCR 任务。
4. 易于集成:Tesseract 可以很容易地集成到其他应用程序中,它提供了多种编程语言的接口,如 C/C++、Python、Java 等。
5. 开源和免费:Tesseract 是完全开源的,并且可以免费使用。它的源代码托管在 GitHub 上,任何人都可以贡献代码或者修改代码来适应自己的需求。
6. 社区支持:Tesseract 拥有一个活跃的社区,用户和开发者可以分享经验、解决问题和改进引擎。
7. 培训和自定义:Tesseract 允许用户对自己的数据集进行训练,以创建定制的语言模型和字符识别规则。
8. 输出格式:Tesseract 支持多种输出格式,包括纯文本、HTML、PDF、TSV 等,这使得它可以根据不同的需求进行灵活的使用。
Tesseract 的最新版本是 4.x,它引入了一些新的功能和改进,包括一个基于神经网络(LSTM)的 OCR 引擎,这个新引擎专注于线条识别,并且提供了更好的字符识别性能。Tesseract 4 也与之前的版本兼容,支持旧的 OCR 引擎模式 (--oem0) 和相关的 traineddata 文件。
总的来说,Tesseract 是一个功能强大、灵活且不断进化的 OCR 引擎,它在学术、商业和开源社区中都有广泛的应用。
Tesseract 4 添加了一个新的基于神经网络 (LSTM) 的OCR 引擎,该引擎专注于线条识别,但仍然支持 Tesseract 3 的旧版 Tesseract OCR 引擎,该引擎通过识别字符模式进行工作。通过使用旧版 OCR 引擎模式 (--oem 0) 可以实现与 Tesseract 3 的兼容性。它还需要支持旧引擎的经过训练的数据文件,例如来自tessdata存储库的数据文件。
Stefan Weil 是现任首席开发人员。Ray Smith 一直是首席开发人员,直到 2018 年。维护者是 Zdenko Podobny。有关贡献者列表,请参阅作者 和 GitHub 的贡献者日志。
Tesseract支持 unicode (UTF-8),并且可以“开箱即用”识别100 多种语言。
Tesseract 支持多种图像格式,包括 PNG、JPEG 和 TIFF。
Tesseract 支持各种输出格式:纯文本、hOCR (HTML)、PDF、仅不可见文本的 PDF、TSV 和 ALTO。
您应该注意,在许多情况下,为了获得更好的 OCR 结果,您需要提高提供给 Tesseract 的图像质量。
该项目不包括 GUI 应用程序。如果您需要,请参阅3rdParty文档。
可以训练Tesseract识别其他语言。有关更多信息,请参阅Tesseract 培训。
安装
您可以通过预构建的二进制包安装 Tesseract 或从源代码构建它。
从源代码构建 Tesseract 需要具有良好 C++17 支持的 C++ 编译器。
运行
基本命令行用法:
tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]
有关各种命令行选项的更多信息,请使用tesseract --help或man tesseract。
示例可以在文档中找到。
Tesseract 开源 OCR 引擎的使用场景非常广泛,它可以应用于多种环境和场合,以下是一些常见的使用场景:
1. 文档数字化:将纸质文档转换为电子文档,以便于存储、检索和编辑。Tesseract 可以识别文档中的文字,从而实现文档的数字化。
2. 数据录入自动化:在需要手动输入大量数据的场景中,如调查问卷、表单处理等,Tesseract 可以自动识别和输入文本,提高数据录入的效率。
3. 图像和视频分析:在图像和视频分析中,Tesseract 可以用于提取场景中的文本信息,例如从新闻报道、社交媒体视频等中提取关键信息。
4. 文本挖掘和自然语言处理:Tesseract 可以用于从大量文本中提取关键信息,支持文本挖掘和自然语言处理的应用,如情感分析、关键词提取等。
5. 教育辅助:在教育领域,Tesseract 可以用于识别试卷、讲义等教育材料中的文字,帮助教师和学生快速整理和复习资料。
6. 金融和保险行业:在金融和保险行业中,Tesseract 可以用于处理各种文档,如支票、保险单、发票等,自动化处理和验证文本信息。
7. 零售和电子商务:在零售和电子商务领域,Tesseract 可以用于识别商品标签、条形码等,支持库存管理、价格比较等应用。
8. 医疗健康:在医疗健康领域,Tesseract 可以用于识别病历、检查报告等医疗文档中的文字,提高医疗信息处理的效率。
9. 交通和导航:在交通和导航领域,Tesseract 可以用于识别路标、交通标志等图像中的文本信息,帮助提高导航系统的准确性。
10. 社交媒体内容分析:在社交媒体平台中,Tesseract 可以用于识别用户生成内容中的文本,如评论、帖子等,支持内容分析和监控。
11. 艺术品和文化遗产保护:在艺术品和文化遗产保护领域,Tesseract 可以用于识别和记录历史文献、艺术品描述等中的文本信息。
12. 验证码识别:在需要自动识别验证码的场景中,如自动化测试、机器人程序等,Tesseract 可以用于识别和输入验证码中的文字。
Tesseract 的开源特性和灵活性使其能够适应各种不同的应用场景,用户可以根据自己的需求进行定制和扩展。随着技术的不断进步,Tesseract 的应用领域也在不断扩展。
Tesseract 开源 OCR 引擎(主存储库)
github地址
https://github.com/tesseract-ocr/tesseract
官方网址
tesseract-ocr.github.io/