OCR工具

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

发布 2022年四月7日
分享:

什么是 Tesseract OCR?

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


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

安装语言数据:sudo port install tesseract--"......"。语言代码<langcode&gt; 语言代码列表请参见 MacPorts Tesseract 页面 Homebrew。 安装 Windows 版 Tesseract OCR 的第一步是下载与您的计算机操作系统相对应的 .exe 安装程序

第 2 步:配置安装

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

安装程序语言

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

Tesseract Ocr Windows 1 related to 安装程序语言

Windows 版 Tesseract OCR 的安装语言

Tesseract OCR 设置

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

Tesseract Ocr Windows 2 related to Tesseract OCR 设置

Tesseract OCR for Windows 安装屏幕。

选择安装位置

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

Tesseract Ocr Windows 3 related to 选择安装位置

选择安装位置。

选择组件

默认情况下,滚动视图、培训工具、快捷方式创建和语言数据都已选中。 除非您有特殊原因不安装这些工具,否则我们希望保留所有这些选定的工具。

Tesseract Ocr Windows 4 related to 选择组件

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

如果我们向下滚动并展开 "附加脚本数据",就会看到我们有下载和安装附加脚本数据的选项。 这有助于提高从某些脚本语言中提取文本的准确性。 您可以自行决定是否安装这些工具。

Tesseract Ocr Windows 5 related to 选择组件

可选的脚本安装组件。

选择开始菜单文件夹

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

Tesseract Ocr Windows 6 related to 选择开始菜单文件夹

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

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

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

控制面板

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

Tesseract Ocr Windows 7 related to 控制面板

搜索 "环境变量

系统属性

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

Tesseract Ocr Windows 8 related to 系统属性

环境变量

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

Tesseract Ocr Windows 9 related to 环境变量

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

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

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

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

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

要测试 Windows 版 Tesseract OCR 是否安装成功,请在计算机上打开命令提示符,然后运行 Tesseract 命令。 您应该看到一个快速解释 Tesseract 使用选项的输出结果。

Tesseract Ocr Windows 11 related to 步骤 4:在测试图像上运行 Tesseract OCR for Windows

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

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


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

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

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

    IronOCR 可使用最新的 Tesseract 5 引擎从所有主流图像和 PDF 格式中读取文本、Barcode 和 QR 码。该库可在几分钟内将 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# 的最新版本
  • 审查准确性和图像兼容性
  • 测试性能和应用程序接口功能
  • 考虑多语言支持

.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#

IronOCR Tesseract for C

使用IronOCR,所有Tesseract的安装完全通过NuGet包管理器进行。

Install-Package IronOcr

IronOCR Tesseract 中的 Tesseract 5 API

迄今为止,IronTesseract 是 Tesseract 5 for .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 遇到的图像旋转、倾斜、分辨率低、被扫描过或者有背景噪音,它几乎无法从该图像中获取数据。 此外,Tesseract 还会花很长时间处理该文档,然后再向您提供无意义的信息。

IronOCR:

IronOCR消除了这种困扰。 用户只需进行最低限度的配置,准确率通常可达 99.8%-100%。

图像兼容性

TESSERACT:

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

IronOCR:

图片是内存管理的。 PDF和Tiff支持。 System. 为每种文件格式包括了绘图、流和字节数组。

广泛的图像支持:

  • PDF 文档
  • PDF 页码
  • 多帧TIFF文件
  • JPEG和JPEG2000
  • 图像互换格式
  • 巴新
  • System.Drawing.Image
  • 二进制图像数据(字节[])
  • 等等...

性能

TESSERACT:

如果使用 Photoshop 或 ImageMagick 对输入图像进行了预处理并适当调整,Google Tesseract 可以快速、准确地生成结果。

IronOCR:

IronOCR .NET Tesseract DLL 对大多数图片的处理即快速又准确。 我们已经实现了多线程,以利用大多数机器现在使用的多核处理器。 即使是低分辨率的图片,在您的程序中也通常能以高精度工作。 无需使用PhotoShop。

应用程序接口

TESSERACT:

我们有两种自由选择:

  • 与互操作层一起工作--在 GitHub 上找到的许多互操作层都已过时,存在未解决的问题、内存泄漏和 Console 警告。 可能不支持 .NET Core 或 Standard。
  • 使用命令行 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.11 刚刚发布

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