OCR工具

Windows中的Tesseract Ocr(代码示例教程)

发布 2022年四月7日
分享:

什么是魔方 OCR?

Tesseract 是一个光学字符识别引擎,可用于多种操作系统。它是一款免费软件,根据 Apache 许可发布。在本指南中,我将带你了解我在 Windows 10 机器上安装 Tesseract 的步骤。主要版本 5 是当前的稳定版本,从 2021 年 11 月 30 日发布的 5.0.0 版开始。0 开始。


第 1 步:使用 .exe 文件在 Windows 10 中安装 Tesseract OCR:

要安装语言数据: sudo port install tesseract - OCR.语言代码<langcode&gt; 语言代码列表可在 MacPorts Tesseract 页面 Homebrew 中找到。安装 Windows 版 Tesseract OCR 的第一步是下载与您机器操作系统相对应的 .exe 安装程序

第 2 步:配置安装

接下来,我们需要配置Tesseract的安装。如果你自信满满,只想在默认语言设置为英语的情况下运行 Tesseract OCR for Windows,那么选择所有默认选项运行安装屏幕应该没问题。

安装程序语言

这只是对话框和帮助信息的语言。如果需要,我们可以使用多种语言运行 Tesseract OCR for Windows:

Windows 版 Tesseract OCR 的安装语言

Tesseract OCR 设置

设置屏幕建议在继续安装之前关闭所有其他应用程序。

Tesseract OCR for Windows 安装屏幕。

选择安装位置

接下来,我们将选择安装位置。在进行下一步之前,确保将安装位置复制到 .txt 文件中。安装完成后,我们需要将安装位置添加到机器的环境变量中。

选择安装位置。

选择组件

默认情况下,"滚动视图"、"培训工具"、"快捷方式创建 "和 "语言数据 "都被选中。除非您有特殊原因不安装这些功能,否则我们希望将它们全部选中。

默认的 Tesseract OCR for Windows 安装组件。

如果我们向下滚动并展开 "附加脚本数据",就会发现我们可以选择下载并安装附加脚本数据。这有助于提高从某些脚本语言中提取文本的准确性。至于是否安装这些脚本数据,就看你自己的意愿了。

可选的脚本安装组件。

选择开始菜单文件夹

在安装的最后一步,我们将被要求选择开始菜单文件夹,以便为Windows快捷方式使用Tesseract OCR。我将其设置为默认名称:"Tesseract-OCR"。

选择开始菜单文件夹中的 Tesseract OCR for Windows 快捷方式。

点击安装后,Tesseract OCR for Windows将开始安装。下一步是将安装路径添加到机器的环境变量中。

步骤 3:在环境变量中添加安装路径

控制面板

要在环境变量中添加安装位置,请进入 "开始 "菜单搜索 "环境变量"。你应该会看到编辑系统环境变量的结果。如果没有,可以使用以下步骤: 开始菜单 > 控制面板 > 编辑系统环境变量

搜索 "环境变量

系统属性

当出现 "系统属性 "对话框时,我们要确保已单击 "高级 "选项卡,然后单击屏幕右下方的 "环境变量 "按钮。

环境变量

在系统变量下,我们将点击编辑按钮。

当出现 "编辑环境变量"屏幕时,点击 ""按钮,然后粘贴我们在步骤 2 中复制的 Tesseract OCR 安装路径。完成后,点击 "确定"按钮。

在环境变量中添加 Tesseract OCR for Windows 安装目录

就是这样! 现在我们已经运行了 .exe 安装程序,并在环境变量中添加了 Tesseract OCR for Windows 的安装位置,我们可以在测试图像上运行 Tesseract 来测试安装是否正常。

第 4 步:在测试图像上运行 Tesseract OCR for Windows

要测试 Windows 版 Tesseract OCR 是否安装成功,请在计算机上打开命令提示符,然后运行 Tesseract 命令。你会看到输出结果,其中包含对 Tesseract 使用选项的快速解释。

检查 Windows 版 Tesseract OCR 安装是否成功

恭喜您! 您已成功在计算机上安装了 Tesseract OCR for Windows。


使用 IronOCR 进行 OCR 工作的优势:

IronOCR 为 Mac、Windows、Linux、Azure 和 Docker 提供 Tesseract OCR:

  • .NET Framework 4.0 +
  • .NET 标准 2.0 +
  • .NET Core 2.0 +
  • .NET 5
  • 适用于 macOS 和 Linux 的 Mono
  • 用于 macOS 的 Xamarin

IronOCR 可使用最新的 Tesseract 5 引擎从所有主要图像和 PDF 格式中读取文本、条形码和二维码。该库可在几分钟内将 OCR 功能添加到桌面、控制台和 Web 应用程序中。它支持 127 多种国际语言。 许可证 从 $749 开始。

第 1 步:安装最新版本的 IronOCR

安装 DLL

下载 IronOcr DLL 直接连接到您的机器。

安装 NuGet

您也可以通过 NuGet 安装。

Install-Package IronOcr

第 2 步:申请许可证密钥

使用代码设置 IronOCR 许可证密钥

在使用 IronOCR 之前,将此代码添加到应用程序的启动程序中。

IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
VB   C#

第 3 步:测试密钥

测试钥匙是否安装正确。

BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0")
VB   C#

启动项目

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Hundreds of languages available
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
   OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

' ' Explore the OcrResult using IntelliSense
End Using
VB   C#

如何在 C# for .NET 中使用 Tesseract OCR?

  • 在 Visual Studio 中安装 Google Tesseract 和 IronOCR for .NET
  • 检查 C# 的最新版本
  • 检查准确性和图像兼容性
  • 测试性能和 API 功能

  • 考虑多语言支持

.NET OCR 使用代码示例 - 从 C&num 中的图像中提取文本;

使用 NuGet 包管理器将 IronOCR NuGet 包安装到 Visual Studio 解决方案中。

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Hundreds of languages available
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
   OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

' ' Explore the OcrResult using IntelliSense
End Using
VB   C#

C&num 的 IronOCR 宇宙魔方;

有了 IronOCR,所有 Tesseract 的安装都完全通过 NuGet 软件包管理器完成。

Install-Package IronOcr

IronOCR 宇宙魔方中的宇宙魔方 5 应用程序接口

迄今为止,IronTesseract 是 Tesseract 5 在 .NET Framework 或 Core 中的唯一已知实现。

// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
' using IronOcr;

Dim Ocr = New IronTesseract() ' nothing to configure

Using Input = New OcrInput("images\image.png")
Dim Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

End Using
VB   C#

IronOCR Tesseract 中的 Tesseract 4 应用程序接口

// using IronOcr;

var Ocr = new IronTesseract();

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))

{

   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
// using IronOcr;

var Ocr = new IronTesseract();

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))

{

   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
' using IronOcr;

Dim Ocr = New IronTesseract()

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4

Using Input = New OcrInput("images\image.png")


Dim Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

End Using
VB   C#

为什么 IronOCR 比魔方更好?

准确性

TESSERACT:

如果 Tesseract 遇到旋转、倾斜、低 DPI、扫描或有背景噪音的图像,Tesseract 几乎不可能从该图像中获取数据。此外,Tesseract 还会花很长时间处理该文档,然后再向您提供无意义的信息。

IRONOCR:

IronOCR 可以解决这个令人头疼的问题。用户只需极少的配置,就能达到 99.8-100% 的准确率。

图像兼容性

TESSERACT:

只接受 Leptonica PIX 图像格式,该格式在 C# 中是 IntPtr C++ 对象。PIX 对象不是受管内存,在 C# 中不小心处理会导致内存泄漏。

IRONOCR:

图像由内存管理。支持 PDF 和 Tiff。系统。每种文件格式都包含绘图、流和字节阵列。

广泛的图像支持:

  • PDF 文档
  • PDF 页面
  • 多帧 TIFF 文件
  • jpeg 和 jpeg2000
  • GIF
  • PNG
  • System.Drawing.Image
  • 二进制图像数据 (字节 [])

  • 还有更多...

性能

TESSERACT:

如果调整得当,输入图像经过 Photoshop 或 ImageMagick 预处理,Google Tesseract 可以快速、准确地生成结果。

IRONOCR:

IronOcr .NET Tesseract 动态链接库开箱即能准确、快速地处理大多数图像。我们实现了多线程,以利用目前大多数机器使用的多核处理器。在您的程序中,即使是低分辨率的图像也能以很高的精度运行。无需 PhotoShop。

应用程序接口

TESSERACT:

我们有两个自由选择:

  • 与 Interop 层合作 - 在 GitHub 上找到的许多 Interop 层都已过时,存在未解决的问题单、内存泄漏和 Console 警告。可能不支持 .NET Core 或标准。
  • 使用命令行 EXE - 部署困难,经常被病毒扫描程序和安全策略打断。

IRONOCR:

用于 Tesseract 的经过管理和测试的 .NET 库,名为 IronTesseract。

文档齐全,支持 IntelliSense。

语言

TESSERACT:

仅支持 100 种语言。

IRONOCR:

支持 127 多种语言。


结论

Tesseract 是 C++ 开发人员的绝佳资源,但它并不是一个完整的 .NET OCR 库。扫描或拍摄的图像需要经过处理,使其具有正交性、标准化、高分辨率和无数字噪音,然后 Tesseract 才能准确地处理这些图像。

相比之下,IronOCR 只需一行代码就能完成这些工作。的确,IronOCR 使用 Tesseract 它的内部 OCR 引擎是一个经过精心调整的 Tesseract,采用 C# 语言构建,性能有了很大提高,并增加了许多标准功能。

< 前一页
在线 OCR 转换器 — 免费在线工具
下一步 >
在 Windows 11 中的 OCR(免费在线工具)

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

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