与其他组件比较

Paddle OCR与Tesseract (OCR功能对比)

发布 2024年四月29日
分享:

选择正确的光学字符识别 (光学字符识别) 对于任何希望将文本图像转换为可编辑和可搜索数据的人来说,该工具都至关重要。该领域的两个流行选项是 Paddle OCR魔方.两者都利用不同的 OCR 技术,满足不同的需求。本比较侧重于评估不同的 OCR 引擎,以帮助您找到最适合您需求的选择。

无论您是在执行简单的任务还是在处理复杂的文档,了解 Paddle OCR 和 Tesseract 的功能都可能是您迈向更高效数据处理的第一步。我们还将从众多 OCR 库中介绍一个库、 IronOCR 提供更广泛的比较,帮助您了解哪种工具最适合您的需求。

Paddle OCR

Paddle OCR 作为一个显著的解决方案,PaddlePaddle 公司利用 PaddlePaddle 深度学习框架的功能,设计了先进的文本识别模型,用于多语言文本识别。PaddlePaddle 开发的 OCR 系统专为高性能和广泛的语言支持而定制。该系统支持 50 多种语言,提供一整套用于数据注释、合成和跨各种平台(包括服务器、移动设备、嵌入式系统和物联网设备)的模型部署的工具,从而脱颖而出。

主要功能

Paddle OCR 具有多种 OCR 功能,用户友好的 API 适用于各种应用。以下是其突出功能:

  1. 多语言支持:Paddle OCR 可处理多语言文本,支持 50 多种语言。

  2. 先进的算法:它采用先进的 OCR 方法和算法进行文本检测、识别和分类。其中包括最新的深度学习研究,如连接时态分类法(Connectionist Temporal Classification)。 (反恐委员会) 损失,这对准确预测和排列文本序列起着至关重要的作用。

  3. 高效快速:Paddle OCR 针对速度和准确性进行了优化,能够快速处理大量图像,适合高吞吐量应用。

许可证

Paddle OCR 根据 Apache License 2.0 发布,可自由使用、修改和分发。安装非常简单,通常使用软件包管理器,如 Python 的 pip。用户只需几条命令就能快速安装 Paddle OCR 及其依赖程序,从而方便项目集成。

安装 PaddleSharp

PaddleSharp 是 Paddle Inference C# API 的.NET 封装程序,使用 PaddleSharp 可以简化在 Visual Studio 中将 PaddleOCR 集成到 C# 项目中的过程。这样就可以在 .NET 环境中直接使用 PaddlePaddle 的深度学习功能。以下是在项目中设置 PaddleSharp 的分步指南:

前提条件

  • 确保您的系统已安装 Visual Studio,并根据项目要求支持 .NET Framework 或 .NET Core。
  • 了解 C# 和熟悉 Visual Studio 中的 NuGet 软件包管理也是必不可少的。

安装 PaddleSharp 软件包

  • 在 Visual Studio 中打开项目。
  • 在解决方案资源管理器中右键单击项目,导航到 "管理 NuGet 包 "选项。

    • 搜索 Sdcb.PaddleInference 并安装该软件包。这是允许 .NET 应用程序使用 Paddle Inference 引擎的核心绑定。

Paddle OCR 与 Tesseract(OCR 功能比较):图 1 - 在 NuGet 软件包管理器中浏览 Sdcb.PaddleInference

  • 然后安装以下软件包

    • Scdb.PaddleOCR

    • OpenCvSharp4

    • Scdb.PaddleOCR.Models.Online
    • OpenCvSharp4.runtime.win

添加本地和基础架构软件包

  • 取决于您的目标平台 (视窗/Linux) 和要求 (CPU/GPU)对于 Windows,可能需要额外的软件包。对于 Windows,您可能需要 Sdcb.PaddleInference.runtime.win64.mkl 等软件包来支持 MKL 或 **Sdcb.PaddleInference.runtime.win64.cuda*** 来支持 GPU。
  • 也可通过 NuGet 软件包管理器安装这些软件包,以确保与开发环境和目标执行环境兼容。

代码示例

using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
    AllowRotateDetection = true,
    Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
    Stopwatch stopWatch = Stopwatch.StartNew();
    PaddleOcrResult result = all.Run(imgSrc);
    Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
    Console.WriteLine(result.Text);
}
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
    AllowRotateDetection = true,
    Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
    Stopwatch stopWatch = Stopwatch.StartNew();
    PaddleOcrResult result = all.Run(imgSrc);
    Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
    Console.WriteLine(result.Text);
}
Imports System
Private model As FullOcrModel = await OnlineFullModels.EnglishV3.DownloadAsync()
Using all As New PaddleOcrAll(model) With {
	.AllowRotateDetection = True,
	.Enable180Classification = False
}
Using imgSrc As Mat = Cv2.ImRead("read.jpg")
	Dim stopWatch As Stopwatch = Stopwatch.StartNew()
	Dim result As PaddleOcrResult = all.Run(imgSrc)
	Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms")
	Console.WriteLine(result.Text)
End Using
End Using
VB   C#

Paddle OCR 与 Tesseract(OCR 功能比较):图 2 - 前一个代码的控制台输出。

Tesseract OCR

魔方 是一个广受认可的开源 OCR 引擎,采用 Apache 2.0 许可授权。它的开发历程始于惠普实验室,在谷歌的管理下一直持续到 2018 年,之后被开源。现在,它由一个贡献者社区负责维护。该引擎能够读取 100 多种语言,并支持 PNG、JPEG 和 TIFF 等多种图像格式,因而备受赞誉。它可输出多种格式,如纯文本、hOCR (HTML)PDF 等。

主要功能

下面是其主要功能概览:

  1. 广泛的语言支持:Tesseract 能够识别 100 多种语言,满足全球受众的需求。该引擎支持 Unicode (UTF-8)可处理多语言文件。

  2. 基于神经网络的识别:Tesseract 第 4 版及以上版本引入了神经网络 (LSTM) 基于 OCR 引擎,与传统的字符模式识别方法相比,提高了文本行识别的准确性。

  3. 多种输出格式:Tesseract 支持多种输出格式,包括纯文本、hOCR (HTML)、PDF 和 TSV,使其能适应不同的使用情况。

许可证

Tesseract OCR 根据 Apache License 2.0 发布。该许可证是最宽松、最开放的许可证之一,允许几乎不受限制地自由使用、修改和分发软件,即使在专有软件项目中也是如此。

安装魔方

要使用 NuGet 在 Visual Studio 项目中安装 Tesseract OCR,请按照以下步骤操作:

  1. 打开 Visual Studio:启动 Visual Studio 并打开您的项目或创建一个新项目。

2.在 "解决方案资源管理器 "中右键单击项目,选择 "管理 NuGet 包..." 3. 在 NuGet 包管理器中,切换到 "浏览"选项卡,搜索Tesseract**。

4.安装 Tesseract NuGet 软件包管理器。

Paddle OCR 与 Tesseract(OCR 功能比较):图 3 - 使用 NuGet 软件包管理器安装 Tesseract

5.从此处下载 Tessdata 链接.使用 Tesseract OCR 非常重要。

代码示例

using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
    using (var img = Pix.LoadFromFile(@"read.jpg"))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            Console.WriteLine(text);
        }
    }
}
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
    using (var img = Pix.LoadFromFile(@"read.jpg"))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            Console.WriteLine(text);
        }
    }
}
Imports Tesseract
Using engine = New TesseractEngine(".\tessdata-main", "eng", EngineMode.Default)
	Using img = Pix.LoadFromFile("read.jpg")
		Using page = engine.Process(img)
			Dim text = page.GetText()
			Console.WriteLine(text)
		End Using
	End Using
End Using
VB   C#

Paddle OCR 与 Tesseract(OCR 功能比较):图 4 - 上一个代码示例的控制台输出

IronOCR

IronOCR 是一种先进的 OCR (光学字符识别) 库,大大增强了.NET 开发人员在以下方面的能力 从图像中提取文本 和 PDF 文件。在 Tesseract OCR 引擎的基础上,IronOCR 提供了本机 C# 体验,其稳定性和准确性都高于基础 OCR 引擎。 魔方图书馆.它可以无缝集成到.NET 应用程序和网站中,将文本提取为纯文本或结构化数据格式,并能理解多种外语。利用深度学习算法,IronOCR 在文本识别任务中实现了无与伦比的准确性。

该库不仅在简单的 OCR 任务中表现出色,还将其功能扩展到了广泛的应用领域。它支持各种平台,包括.NET 5 至 8 版本、.NET Core 2x 和 3x,以及 .NET Framework 4.6.2 及以上版本。

主要功能

以下是使 IronOCR 脱颖而出的一些关键属性和功能:

先进的 OCR 引擎:利用 Tesseract 5,IronOCR 可提供先进的 OCR 引擎,支持 125 多种语言.这一功能对于需要多语言支持的全球应用至关重要。该库为大多数语言(包括自定义语言和字体训练)提供了高质量、中等质量和快速质量选项,确保了文本识别的灵活性和高准确性。

全面的文档处理:IronOCR 可处理多种文档类型和格式,包括图像 (JPG、PNG、GIF、TIFF、BMP)系统.绘图对象、流和 PDF。

强大的图像处理:该库包含一套功能强大的滤镜和图像处理工具,如锐化、分辨率增强、降噪和色彩校正等 (二值化、灰度、反转).

结构化数据输出和简单数据输出:IronOCR 同时提供结构化数据输出 (页、块、段、行、字、字符) 和简单的数据输出 (.NET 文本字符串、条形码和 QR 数据、图像).

并行处理和计算机视觉:该库支持单线程和多线程、异步操作,并提供计算机视觉功能来识别图像中的文本区域,从而提高复杂或嘈杂图像中文本识别的准确性和效率。

要在 .NET 项目中安装 IronOCR,您可以根据自己的开发环境和偏好使用多种方法。以下是一份简明指南,可帮助您轻松入门:

许可证

IronOCR 提供多种许可选项,可满足不同项目和开发人员的需求,确保用户的灵活性和可扩展性。许可证条款是永久性的,这意味着一旦购买许可证,就不会再产生经常性费用。此外,每个许可证都包含 30 天退款保证、一年的产品支持和更新,并适用于开发、暂存和生产环境。许可证价格从 749 美元起。您可以获得 免费试用 在购买许可证之前。

安装 IronOCR

1.导航至 工具 -> NuGet软件包管理器 -> 软件包管理器控制台

2.输入命令 Install-Package IronOcr 并执行。该命令会将 IronOCR 获取并安装到你的项目中,以便随时使用。

Paddle OCR 与 Tesseract(OCR 功能比较):图 5 - 使用软件包管理器控制台安装 IronOCR

代码示例

下面是一个代码示例,说明如何使用 IronOCR 从图像中提取文本:

using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
Imports IronOcr
IronOcr.License.LicenseKey = "License-Key"
Dim ocrMode = New IronTesseract()
Dim resultText = ocrMode.Read("read.jpg")
Console.WriteLine(resultText.Text)
VB   C#

Paddle OCR 与 Tesseract(OCR 功能比较):图 6 - 上一个代码示例的控制台输出

比较

在评估 IronOCR、PaddleOCR 和 Tesseract 的光学字符识别的各种重要因素时 (光学字符识别) 因此,考虑每种工具在准确性、速度、语言支持、定制选项和社区支持方面的优势至关重要。

精确度

PaddleOCR 和 Tesseract 在基准测试中都显示出很高的准确率,但 IronOCR 能够微调和调整预处理步骤,这使它在不同文档类型中都能提供出色的结果。

速度

在处理速度方面,IronOCR 因其在 .NET 环境中高效处理文档而脱颖而出,为快速文本识别提供了优化性能。PaddleOCR 和 Tesseract 也以实时处理能力著称。

语言支持

Tesseract 支持 100 多种语言,是语言覆盖面最广的 OCR 工具之一。PaddleOCR 也提供了令人印象深刻的语言支持,尤其是对亚洲语言的支持。使用 Tesseract 引擎的 IronOCR 继承了这一广泛的语言支持,并进行了额外的增强和优化。这种组合不仅扩大了有效处理的语言范围,还提高了 IronOCR 增强功能直接支持的语言的准确性和速度。

定制选项

IronOCR 在自定义方面表现出色,它提供了大量选项,允许开发人员对 OCR 过程进行微调,包括图像预处理、文本过滤和自定义字典。这种定制水平在复杂的 OCR 场景中尤为重要,因为默认设置可能无法满足要求。虽然 PaddleOCR 和 Tesseract 提供了一些定制功能,但 IronOCR 专注于 .NET 生态系统中的开发人员需求,确保了更高程度的灵活性。

社区支持

Tesseract 因其悠久的历史和开源特性而拥有一个庞大而成熟的社区,PaddleOCR 的社区也在迅速发展壮大,而 IronOCR 则得益于一个由 .NET 开发人员组成的专注社区。

结论

总之,虽然 Tesseract 凭借其广泛的定制化和广泛的社区支持为 OCR 项目奠定了坚实的基础,PaddleOCR 也带来了可实现高精度和高速度的尖端深度学习技术,但对于 .NET 开发人员和企业来说,IronOCR 仍是一个引人注目的选择。IronOCR 注重内部部署、全面的语言支持和经济高效的许可模式,这使它成为那些优先考虑数据安全性、财务可预测性以及与 .NET 应用程序集成的用户的一个极具吸引力的选择。

IronOCR 特别吸引企业的地方在于其灵活的许可选项,其中包括 免费试用 初始评估和 749 美元起的许可证,满足各种规模的组织在性能和成本之间寻求平衡的需求。

下一步 >
Abbyy Finereader与Tesseract(OCR功能比较)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 2,319,721 查看许可证 >