开源字符识别 OCR 引擎推荐

2024-01-03 12:20

本文主要是介绍开源字符识别 OCR 引擎推荐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 --helpman tesseract

示例可以在文档中找到。

这篇关于开源字符识别 OCR 引擎推荐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/565677

相关文章

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻