在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
选择正确的光学字符识别(光学字符识别)对于任何希望将文本图像转换为可编辑和可搜索数据的人来说,工具都是至关重要的。 该领域的两个流行选项是Paddle OCR和魔方. 两者都利用了不同的 OCR 技术,满足了不同的需求。 本比较侧重于评估不同的 OCR 引擎,以帮助您找到最适合您需求的选项。
无论您是在执行简单的任务还是处理复杂的文档,了解 Paddle OCR 和 Tesseract 的功能都将是您迈向更高效数据处理的第一步。 我们还将从一堆 OCR 库中引入一个库、IronOCR提供更广泛的比较,帮助您了解哪种工具最适合您的需求。
Paddle OCR在这种情况下,《PaddlePaddle.com》成为了一个值得关注的解决方案,其先进的文本识别模型专为多语言文本识别而设计,充分利用了 PaddlePaddle 深度学习框架的功能。 PaddlePaddle 开发的 OCR 系统专为高性能和广泛的语言支持而定制。 该系统支持 50 多种语言,提供一整套工具,用于在服务器、移动设备、嵌入式系统和物联网设备等各种平台上进行数据注释、合成和模型部署。
Paddle OCR 具有多种 OCR 功能,其用户友好型 API 适用于各种应用。 以下是其突出特点:
多语言支持:Paddle OCR 可处理多语言文本,支持 50 多种语言。
先进的算法:它采用先进的 OCR 方法和算法进行文本检测、识别和分类。 这些工具包括深度学习研究的最新成果,如联结时态分类(Connectionist Temporal Classification(反恐委员会)在准确预测和对齐文本序列方面起着至关重要的作用。
Paddle OCR 根据 Apache License 2.0 发布,确保可自由使用、修改和分发。 安装非常简单,通常使用软件包管理器,如 Python 的 pip。 用户只需几条命令就能快速安装 Paddle OCR 及其依赖项,从而方便项目集成。
使用 PaddleSharp(Paddle Inference C# API 的.NET 封装器)可以简化在 Visual Studio 中将 PaddleOCR 集成到 C# 项目中的过程。 这样就可以在 .NET 环境中直接使用 PaddlePaddle 的深度学习功能。 以下是在项目中设置 PaddleSharp 的分步指南:
前提条件:
了解 C# 和熟悉 Visual Studio 中的 NuGet 软件包管理也是必不可少的。
安装 PaddleSharp 软件包:
右键单击解决方案资源管理器中的项目,导航至 "管理 NuGet 包 "选项。
然后安装以下软件包:
Scdb.PaddleOCR
OpenCvSharp4
添加本地和基础架构包:
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
魔方OCR 是一个广受认可的开源 OCR 引擎,采用 Apache 2.0 许可授权。 它的开发历程始于惠普实验室,在谷歌的管理下一直持续到 2018 年,之后被开源。 现在,它由一个贡献者社区负责维护。 该引擎能够读取 100 多种语言,并支持包括 PNG、JPEG 和 TIFF 在内的各种图像格式,因而备受赞誉。 它可以以多种格式输出,如纯文本、hOCR(HTML)PDF 等。
以下是其主要功能概述:
广泛的语言支持:Tesseract 能够识别 100 多种语言,面向全球受众。 引擎支持 Unicode(UTF-8)此外,翻译还必须能够处理.NET、Java、Python 或 Node.js。
基于神经网络的识别:Tesseract 第 4 版及以上版本引入了神经网络(LSTM)与传统的字符模式识别方法相比,基于 OCR 引擎的文本行识别准确率更高。
Tesseract OCR 根据 Apache License 2.0 发布。该许可证是最具许可性和开放性的许可证之一,允许几乎不受限制地自由使用、修改和分发软件,即使在专有软件项目中也是如此。
要使用 NuGet 在 Visual Studio 项目中安装 Tesseract OCR,请按照以下步骤操作:
打开 Visual Studio:启动 Visual Studio 并打开您的项目或创建一个新项目。
在 "解决方案资源管理器 "中右键单击您的项目,然后选择 "管理 NuGet 包... " 3. 在 NuGet 包管理器中,切换到 "浏览 "选项卡,然后搜索 "Tesseract "**。
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
IronOCR是一种先进的 OCR(光学字符识别)库,大大增强了.NET 开发人员在以下方面的能力从图像中提取文本和 PDF 文件。 在 Tesseract OCR 引擎的基础上,IronOCR 提供了原生 C# 体验,比基础 OCR 引擎具有更高的稳定性和准确性。魔方图书馆. 它的设计目的是无缝集成到 .NET 应用程序和网站中,允许将文本提取为纯文本或结构化数据格式,并且能够理解多种外语。 利用深度学习算法,IronOCR 在文本识别任务中实现了无与伦比的准确性。
该库不仅在简单的 OCR 任务中表现出色,还将其功能扩展到了广泛的应用领域。 它支持各种平台,包括从 5 到 8 的 .NET 版本、.NET Core 2x 和 3x,以及 .NET Framework 4.6.2 及以上版本。
以下是 IronOCR 脱颖而出的一些关键属性和功能:
先进的 OCR 引擎:IronOCR 利用 Tesseract 5 提供先进的 OCR 引擎,支持125 多种语言. 这种能力对于需要多语言支持的全球应用程序至关重要。 该库为大多数语言(包括自定义语言和字体训练)提供了高质量、中等质量和快速质量选项,确保了文本识别的灵活性和高准确性。
全面的文档处理:IronOCR 可以处理各种文档类型和格式,包括图像(JPG、PNG、GIF、TIFF、BMP)此外,还需要翻译 System.Drawing 对象、流和 PDF。
强大的图像处理:该库包含一套功能强大的滤镜和图像处理工具,如锐化、分辨率增强、降噪和色彩校正。(二值化、灰度、反转).
结构化和简单数据输出:IronOCR 同时提供结构化数据输出(页、块、段、行、字、字符)和简单的数据输出(.NET 文本字符串、条形码和 QR 数据、图像).
并行处理和计算机视觉:该库支持单线程和多线程、异步操作,并提供计算机视觉功能以识别图像中的文本区域,从而提高复杂或嘈杂图像中文本识别的准确性和效率。
要在 .NET 项目中安装 IronOCR,您可以根据自己的开发环境和偏好使用多种方法。 以下是一份简化指南,供您参考:
IronOCR 为满足不同项目和开发人员的需求量身定制了各种许可选项,确保用户的灵活性和可扩展性。 许可条款是永久性的,这意味着一旦您购买了许可证,就不会再有经常性费用。 此外,每个许可证都包含 30 天退款保证、一年的产品支持和更新,并适用于开发、暂存和生产环境。 许可证价格从 749 美元起。您可以获得免费试用在购买许可证之前。
导航至 工具 -> NuGet软件包管理器 -> 软件包管理器控制台。
下面是如何使用 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)
在评估 IronOCR、PaddleOCR 和 Tesseract 对光学字符识别的各种重要因素时(光学字符识别)因此,考虑每种工具在准确性、速度、语言支持、定制选项和社区支持方面的优势至关重要。
PaddleOCR 和 Tesseract 在基准测试中都显示出很高的准确性,但 IronOCR 能够微调和调整预处理步骤,这使其在不同文档类型中提供卓越的结果方面具有优势。
在处理速度方面,IronOCR 因其在 .NET 环境中高效处理文档而脱颖而出,为快速文本识别提供了优化的性能。 PaddleOCR 和 Tesseract 也因其实时处理功能而闻名。
Tesseract 支持 100 多种语言,是语言覆盖面最广的 OCR 工具之一。 PaddleOCR 还提供了令人印象深刻的语言支持,尤其是对亚洲语言的支持。 IronOCR 采用 Tesseract 引擎,继承了广泛的语言支持,并结合了额外的增强和优化功能。 这种组合不仅扩大了有效处理的语言范围,还提高了 IronOCR 增强功能直接支持的语言的准确性和速度。
IronOCR 在这种定制方面表现出色,它提供了大量选项,允许开发人员对 OCR 过程进行微调,包括图像预处理、文本过滤和自定义字典。 这种定制水平在复杂的 OCR 场景中尤为重要,因为默认设置可能无法满足要求。虽然 PaddleOCR 和 Tesseract 提供了一些定制功能,但 IronOCR 专注于 .NET 生态系统中的开发人员需求,确保了更高程度的灵活性。
Tesseract 因其悠久的历史和开源性而拥有一个庞大而成熟的社区,PaddleOCR 的社区也在迅速发展,而 IronOCR 则受益于一个由 .NET 开发人员组成的专注社区。
总之,Tesseract 凭借其广泛的自定义功能和广泛的社区支持为 OCR 项目奠定了坚实的基础,PaddleOCR 则带来了前沿的深度学习技术,实现了高精度和高速度,而 IronOCR 则成为 .NET 开发人员和企业的一个引人注目的选择。 IronOCR 注重内部部署、全面的语言支持和经济高效的许可模式,这使其成为那些优先考虑数据安全性、财务可预测性以及与 .NET 应用程序集成的用户的一个极具吸引力的选择。
IronOCR 因其灵活的许可选项对企业尤其具有吸引力,其中包括免费试用初始评估和 749 美元起的许可证,满足各种规模的组织在性能和成本之间寻求平衡的需求。