与其他组件比较

IronOCR与Tesseract.NET的比较

发布 2022年八月31日
分享:

光学字符识别可以识别图像中可读取的文本。 光学字符识别有多种使用方式。 例如,它可以扫描和数字化旧的纸质文件,将其转换为可搜索的电子文件。 此外,它还有助于执法部门通过检查照片和视频来识别犯罪证据。 机器或计算机要确定任何文档上的字符,就必须了解所使用的字体和书写这些字符的书写系统。 通常情况下,这种理解来自于被称为图像识别算法的人工智能软件,这些算法在文本图像的大型数据集上经过训练和调整。

OCR 是一项重要技术,具有多种用途。 翻译通常用于阅读扫描的纸质文件,将其转换为可通过计算机进行编辑和搜索的数字文件。 不过,OCR 也可以应用于其他各种类型的信息,包括标志或标签上的印刷文本,支票、表格和其他商业记录中的手写或打字文本,甚至从录音中转录的医疗记录。

在本文中,我们将比较两个 .NET OCR 库。

  • IronOCR
  • Tesseract.NET SDK

介绍

IronOCR 功能

IronOCR 是最新、最先进的 OCR 技术。(光学字符识别)翻译库适用于 .NET C# 和 VB.NET 库。 IronOCR 可以扫描所有图像格式的条形码和 QR 码,它还能读取文本,并使用最新的 Tesseract 5 引擎执行 PDF 扫描。IronOCR 可以在桌面应用程序、控制台和网络应用程序等所有 .NET 项目模板中添加 OCR 功能,只需几行代码,无需添加库。 IronOCR 是 .NET 项目中最准确的 OCR 引擎之一。

让我们来讨论一下 IronOCR 的一些独特功能:

  • IronOCR 纯粹是为 .NET 应用程序制作的。
  • IronOCR 支持多达 127 种语言。
  • IronOCR 可以纠正倾斜图像的位置,去除图像中的噪点,从而实现精确输出。
  • IronOCR 在低分辨率、低 DPI 的图像中表现异常出色。
  • IronOCR 可以读取多种类型的 QR 码和 BarCode。
  • IronOCR 还支持 Gif 和 Tiff 格式。
  • IronOCR 支持多线程。 这是其他 OCR 库所不具备的神奇功能。 使流程更加顺畅。
  • IronOCR 可以轻松地对 PDF 文件执行 OCR,并使用 OCR 导出可搜索的 PDF 文档。

    IronOCR 支持所有主要语言,包括阿拉伯语、中文、英语、芬兰语、法语、德语、日语等。 IronOCR 提供了以不同格式显示输出的功能,如条形码数据、纯文本或包含行、字、段落和字符的 OCR 结果类。 IronOCR 使用 Tesseract 库技术。

    IronOCR 兼容 Mac、Windows 和 Linux 机器。 它还支持 Azure 和 Docker 云解决方案。 IronOCR 的最新更新将 .NET Core 3.1 和 .NET 6 列入支持列表,它还提供了对 MacOS 版 Xamarin 的支持。

Tesseract OCR 库功能

Tesseract.net SDK 是 Patagames 的产品,Patagames 是一家光学字符识别公司。(光学字符识别)本手册为 .NET 项目提供了一个 OCR 库,并提供了一种在 .NET 应用程序中添加 OCR 功能(如文本识别)的方法。 Tesseract.NET SDK 是一个 OCR 引擎,可以读取各种图像格式并将图像转换为文本。 它支持多达 60 种语言。 它还支持阅读和扫描 PDF 文档,并将其转换为可搜索的 PDF 文件。 基本上,Tesseract.NET SDK 是一个基于 Tesseract OCR 项目的类库。 它有一个用于执行 OCR 的 Tesseract 引擎。 Patagames.Ocr.xml包含API的**XML文档。

Tesseract.NET SDK 支持 32 位和 64 位操作系统上的 .NET Framework 2.0 至 4.5。 该 SDK 可用于 Windows XP 和其他 Windows 版本,如 Windows 7、Vista、8、10 和 11。它兼容 32 位和 64 位操作系统,便于在任何 CPU 上使用。

遗憾的是,.NET SDK 不支持 macOS 或 Linux。

使用 IronOCR 和 Tesseract.NET SDK

让我们来看看如何在项目中使用 IronOCR 和 Tesseract.NET SDK。

在 Visual Studio 中创建 C# 项目

我们使用 Visual Studio 2022 版本来创建此项目。 建议使用最新版本的 Visual Studio,以便顺利进行翻译。 接下来,打开 Visual Studio 并点击 "创建新项目"。 然后,点击模板中的 "控制台应用程序 "并配置您的项目。

Tesseract Net Core Alternatives 1 related to 在 Visual Studio 中创建 C# 项目

现在输入项目名称。 我将指定名称为 "IronOCR vs Tesseract.NET SDK"。 然后,选择要创建项目的路径,点击 Enter。

Tesseract Net Core Alternatives 2 related to 在 Visual Studio 中创建 C# 项目

然后,选择 .NET 版本。 我们使用最新版本的 .NET,即 .NET 6,IronOCR for .NET 支持该版本。 您可以使用最适合您的项目要求的翻译。

Tesseract Net Core Alternatives 3 related to 在 Visual Studio 中创建 C# 项目

单击 "创建 "按钮后,项目模板将创建项目,现在就可以安装库了。 让我们直接安装库。

安装 IronOCR 和 Tesseract.NET SDK

现在是安装库并检查功能的时候了。 首先,我们将安装 IronOCR 库。

安装 IronOCR

IronOCR 支持使用各种方法进行安装。 我们可以选择任何方法。 所有方法都是安全的。

  • 使用 Visual Studio NuGet 软件包管理器
  • 使用 NuGet 软件包管理器命令行。
  • 直接从以下位置下载: NuGet 网站.
  • 直接从以下位置下载: IronOcr 网站.

使用 Visual Studio NuGet 软件包管理器

我们可以使用 Visual Studio 中的 NuGet 包管理器图形用户界面安装 IronOCR 库。 我们可以通过点击工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包来访问它。

Tesseract Net Core Alternatives 4 related to 使用 Visual Studio NuGet 软件包管理器

转到 "浏览 "选项卡,搜索 IronOCR。 从搜索结果中选择 IronOCR 并将其安装到我们的项目中。

Tesseract Net Core Alternatives 5 related to 使用 Visual Studio NuGet 软件包管理器

现在,我们已经在项目中安装了 IronOCR 库。 该翻译可用于我们的 .NET 项目。

使用 NuGet 软件包管理器命令行

我们可以使用 NuGet 包管理器控制台来安装 IronOCR 库。 转到命令行(通常位于代码文件下方),然后在命令行中写入以下一行并点击 Enter。


安装-打包 IronOcr

它将开始安装 IronOCR 库。 安装完成后,即可在我们的项目中使用。

安装 Tesseract.NET SDK

我们可以使用 NuGet 软件包管理器安装 Tesseract.NET SDK。 要安装 Tesseract.NET SDK,请访问 工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包。 转到浏览选项卡,搜索 Tesseract.NET SDK。 从搜索结果中选择 Tesseract.NET SDK 并安装。 安装完成后,我们就可以在程序中使用 Tesseract.NET SDK 了。

Tesseract Net Core Alternatives 6 related to 安装 Tesseract.NET SDK

安装完成后,您可以在解决方案资源管理器中看到这三个文件夹。

Tesseract Net Core Alternatives 7 related to 安装 Tesseract.NET SDK

这些文件夹包含 Tesseract 执行 OCR 所需的重要数据。 现在,我们已经准备好在项目中嵌入 OCR 功能。

OCR 图像

现在是测试 IronOCR 和 Tesseract.NET SDK 功能的时候了。 这两个库都可以对图像进行 OCR 识别。 我们将使用带有文本的倾斜且嘈杂的图像对其进行测试。

测试图片

这是我们将用于测试的图片。

Tesseract Net Core Alternatives 8 related to 测试图片

使用 Tesseract.NET SDK

首先,我们来看看 Tesseract.NET SDK 为测试图像生成的输出。 让我们来看看代码:

using Patagames. Ocr;

using (var api = OcrApi.Create())
{
    api.Init(Patagames.Ocr.Enums.Languages.English);
    string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    Console.WriteLine(plainText);
}
using Patagames. Ocr;

using (var api = OcrApi.Create())
{
    api.Init(Patagames.Ocr.Enums.Languages.English);
    string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    Console.WriteLine(plainText);
}
Imports Patagames.Ocr

Using api = OcrApi.Create()
	api.Init(Patagames.Ocr.Enums.Languages.English)
	Dim plainText As String = api.GetTextFromImage("C:\Users\Administrator\Desktop\Input.jpg")
	Console.WriteLine(plainText)
End Using
VB   C#

首先,我们将导入 Patagames。 用于使用 Tesseract.NET SDK 的 OCR 库。 之后,我们将使用创建功能创建一个 OcrApi。 然后,我们将使用 Init 功能将默认语言设置为英语。 接下来,我们使用 GetTextFromImage 方法从图像中提取纯文本,并在参数中提供图像文件的路径。 然后,我们将提取的文本写入控制台。

接下来看看 Tesseract.NET SDK 生成的输出结果:

Tesseract Net Core Alternatives 9 related to 使用 Tesseract.NET SDK

这就是我们从 Tesseract.NET SDK 获得的输出结果。 起初,它根据分辨率给出了错误,表明它仅对高分辨率图像有效。 出错后,我们可以看到从图片中提取的文本。 如果我们将这段文字与图片进行对比,就会发现两者完全不同。 提取的文本中有大量毫无意义的无关文本。 总的来说,Tesseract.NET SDK 没有通过这项测试。

使用 IronOCR

接下来,我们将看到 IronOCR 的成果。 在跳转到结果之前,我们先来看看 IronOCR 的代码:

using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure            
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
    Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    Input.Deskew();
    Input.DeNoise();
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure            
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
    Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    Input.Deskew();
    Input.DeNoise();
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Using Input = New OcrInput()
	Input.AddImage("C:\Users\Administrator\Desktop\Input.jpg")
	Input.Deskew()
	Input.DeNoise()
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
VB   C#

在上面的代码中,我们将 IronOCR 库导入程序,然后创建一个 IronTesseract 对象,这有助于启动翻译过程。 之后,我们将流程语言设置为英语。 现在可以开始实际工作了。 我们将 OcrInput 作为对象。 使用 AddImage 函数将图片路径分配给输入变量。 我们使用纠偏功能将图像旋转到实际位置,然后使用去噪功能去除图像中的噪点。 这样才能达到更好的效果。 然后,我们使用 "读取 "功能识别文本,并从测试图像中提取文本。 接下来,我们在控制台中展示成果。 您还可以在项目文件中将输出保存为 PDF 文件。

以下是 IronOCR 生成的输出结果:

Tesseract Net Core Alternatives 10 related to 使用 IronOCR

如果我们比较一下输出结果,它与图片上的文字是一样的。 IronOCR 完美地提取了文本,没有出现任何错误。 IronOCR 可以从扭曲和旋转的图像中提取文本。 它甚至可以与低分辨率图像一起使用。

IronOCR 还支持添加多帧图像。 我们可以使用 "AddMultiFrameTiff "方法来执行此操作。 IronOCR 会读取图片中的每一帧,每一帧都被视为一个单独的页面。 此方法仅支持 Tiff 图像。

using IronOcr;

var Ocr = new IronTesseract();

using (var Input = new OcrInput())
{
    Input.AddMultiFrameTiff("images/multiframe.tiff");

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();

using (var Input = new OcrInput())
{
    Input.AddMultiFrameTiff("images/multiframe.tiff");

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()

Using Input = New OcrInput()
	Input.AddMultiFrameTiff("images/multiframe.tiff")

	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
VB   C#

让我们来看看制作可搜索 PDF 的代码:

using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddImage(@"images\page1.png")
    Input.AddImage(@"images\page2.bmp")
    Input.AddMultiFrameTiff(@"images\page3.tiff")

    Input.Deskew();

    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddImage(@"images\page1.png")
    Input.AddImage(@"images\page2.bmp")
    Input.AddMultiFrameTiff(@"images\page3.tiff")

    Input.Deskew();

    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.AddImage("images\page1.png") Input.AddImage("images\page2.bmp") Input.AddMultiFrameTiff("images\page3.tiff") Input.Deskew()

	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

SaveAsSearchablePdf 功能有助于将文件保存为可搜索文件。

其他功能

  • 对比度:这种图像滤镜将每个像素都变成黑色或白色,没有中间地带。
  • DeepCleanBackgroundNoise:在已知文档背景噪音极大的情况下使用该过滤器。
  • 反色:反转所有颜色。 例如:白变黑:黑变白。
  • ReplaceColor:用另一种颜色替换颜色以减少噪音
  • ToGrayScale:该图像过滤器可将每个像素转化为灰度。
  • 以及很多其他功能和特点。

IronOCR 功能

IronOCR 支持 127 种语言。 IronOCR 还支持 20 多种阅读类型的 QR 码和 BarCode。 IronOCR 可以将图像转换为灰度图像,以获得更好的效果。 IronOCR 可以手动和自动增强图像分辨率。 翻译还支持自动对比功能,以达到最佳效果。 IronOCR 可以将文档导出为多种语言和格式,如可搜索 PDF、HTML 导出和任意页面的图像。 IronOCR 支持以下多种输入格式:

  • 图片(JPG、PNG、GIF、Tiff、BMP)
  • 多页 Gif 和 Tiff
  • 系统绘图对象
  • PDF 文件

许可

IronOCR

IronOCR 在开发中是免费的。 它还提供免费的开发试用版。 IronOCR 有多种生产定价方案。 您可以购买最符合您需求的计划。 有个人、开发团队和组织级别的定价计划。 一个开发人员和一个项目的 Lite 计划价格从 $749 起。 所有计划均为一次性付款。 用户可获得一年的免费更新。 它还支持 SaaS 和 OEM 覆盖范围。 专业计划的价格为 999 美元,无限计划的价格为 2999 美元。无限计划包括无限开发人员、项目和地点。

Tesseract Net Core Alternatives 11 related to IronOCR

您可以通过以下链接了解有关定价计划的更多信息 链接. 另外,Iron Software 目前有特价活动,您只需花两套软件的价格即可购买一套五套软件。 这五个软件包都非常出色:IronPDF、IronXL、IronOCR、IronBarcode 和 IronWebscraper。

Tesseract.NET SDK

Tesseract.NET SDK 还有一个定价计划。 Tesseract.NET SDK 计划的起价为 220 美元,适用于一名开发人员和一个项目。 这里有一点很重要,那就是定价计划包括续订计划。 因此,您必须按年或按月付费,以确保 Tesseract.NET SDK 在您的项目中运行。 您可以通过以下链接了解 Tesseract.NET SDK 定价计划的更多信息 链接.

Tesseract Net Core Alternatives 12 related to Tesseract.NET SDK

结论

IronOCR 是完成当前任务的完美库。 IronOCR 还支持 127 种语言,这意味着它被全球所接受。 它支持多种图像格式和 PDF 输入处理。 同时还要对图片进行预处理,以确保最佳效果。 IronOCR 是一个引人注目的 .NET 库。 它可以从图像的特定区域识别文字。 IronOCR 注重准确性,在这方面的输出结果确实令人惊叹。 开发人员不需要任何额外的文件和库来执行 OCR。 总之,这是一个完美的资料库。

Tesseract.NET SDK 也是 .NET 项目的完善库。 它提供 60 种语言的 OCR 服务。 它基于 Tesseract OCR 项目。 它可以通过一系列功能将扫描图像转换为可搜索的 PDF。 Tesseract.NET SDK 接受多种图像格式进行输入处理。 它提供高级服务,以支持其在 .NET 项目中的 OCR 功能。

IronOCR 和 Tesseract.NET SDK 都有定价计划。 不过,IronOCR 的定价方案更多样化一些,而且价格也比 Tesseract.NET SDK 便宜。 这是因为 IronOCR 只接受一次性付款,而 Tesseract.NET SDK 有月度或年度续费。 因此,从长远来看,即使 Tesseract.NET SDK 的起价低于 IronOCR,您也必须为它支付更高的费用。

通过对整个场景的分析和对两个库的功能测试,我们可以得出结论:在处理倾斜和有一点噪音的模糊文档和旋转文档方面,IronOCR 的性能比 Tesseract.NET SDK 更好。 这两个库的 OCR 功能都不错,但 IronOCR 是一个高级库,具有更好的功能,如图像预处理、去噪和将图片旋转到原始位置。 Tesseract.NET SDK 支持多达 60 种语言,而 IronOCR 支持多达 127 种语言。 Tesseract.NET SDK 需要为不同的语言提供额外的文件,从而增加了程序的体积。 此外,Tesseract.NET SDK 最后一次更新是在很久以前。

IronOCR 我们还提供免费的生产测试试用版。 目前,它还提供了一个极好的特价优惠,您只需花两套软件的价格就可以买到五套 Iron Software 的全套软件。 您可以通过以下链接获取更多信息 链接.

< 前一页
IronOCR与PDFTRON OCR的比较
下一步 >
IronOCR和Dynamsoft OCR之间的对比

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

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