在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
选择正确的光学字符识别 (光学字符识别) 对于任何希望将文本图像转换为可编辑和可搜索数据的人来说,该工具都至关重要。该领域的两个流行选项是 Paddle OCR 和 魔方.两者都利用不同的 OCR 技术,满足不同的需求。本比较侧重于评估不同的 OCR 引擎,以帮助您找到最适合您需求的选择。
无论您是在执行简单的任务还是在处理复杂的文档,了解 Paddle OCR 和 Tesseract 的功能都可能是您迈向更高效数据处理的第一步。我们还将从众多 OCR 库中介绍一个库、 IronOCR 提供更广泛的比较,帮助您了解哪种工具最适合您的需求。
Paddle OCR 作为一个显著的解决方案,PaddlePaddle 公司利用 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 封装程序,使用 PaddleSharp 可以简化在 Visual Studio 中将 PaddleOCR 集成到 C# 项目中的过程。这样就可以在 .NET 环境中直接使用 PaddlePaddle 的深度学习功能。以下是在项目中设置 PaddleSharp 的分步指南:
前提条件:
安装 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 引擎,采用 Apache 2.0 许可授权。它的开发历程始于惠普实验室,在谷歌的管理下一直持续到 2018 年,之后被开源。现在,它由一个贡献者社区负责维护。该引擎能够读取 100 多种语言,并支持 PNG、JPEG 和 TIFF 等多种图像格式,因而备受赞誉。它可输出多种格式,如纯文本、hOCR (HTML)PDF 等。
下面是其主要功能概览:
广泛的语言支持:Tesseract 能够识别 100 多种语言,满足全球受众的需求。该引擎支持 Unicode (UTF-8)可处理多语言文件。
基于神经网络的识别:Tesseract 第 4 版及以上版本引入了神经网络 (LSTM) 基于 OCR 引擎,与传统的字符模式识别方法相比,提高了文本行识别的准确性。
Tesseract OCR 根据 Apache License 2.0 发布。该许可证是最宽松、最开放的许可证之一,允许几乎不受限制地自由使用、修改和分发软件,即使在专有软件项目中也是如此。
要使用 NuGet 在 Visual Studio 项目中安装 Tesseract OCR,请按照以下步骤操作:
2.在 "解决方案资源管理器 "中右键单击项目,选择 "管理 NuGet 包..." 3. 在 NuGet 包管理器中,切换到 "浏览"选项卡,搜索Tesseract**。
4.安装 Tesseract NuGet 软件包管理器。
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
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 美元起。您可以获得 免费试用 在购买许可证之前。
1.导航至 工具 -> NuGet软件包管理器 -> 软件包管理器控制台。
2.输入命令 Install-Package IronOcr 并执行。该命令会将 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)
在评估 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 美元起的许可证,满足各种规模的组织在性能和成本之间寻求平衡的需求。