使用 IRONOCR

如何在C#中使用OCR从屏幕截图获取文本

更新 2023年十二月18日
分享:

许多人可能想知道 "什么是 OCR 屏幕截图?还有人可能想知道如何将任何文本的屏幕截图转换为数字文本可编辑格式或 .txt 或 .doc 格式。 如果您是这些人中的一员,那就不用担心了,因为我们为您提供了完美的解决方案。

在本文中,我们将讨论允许您对屏幕截图执行 OCR(光学字符识别)的不同工具。

有很多 OCR 工具,但今天我们将使用IronOCR从截图中提取文本。

1.IronOCR

IronOCR 是一个用于 C# 和 VB.NET 编程语言的软件库,旨在使开发人员能够为 .NET 添加 OCR(光学字符识别)他们的应用程序的功能。 该库可用于识别图像中的文本并将其转换为机器可读文本。 该库基于 Tesseract OCR 引擎构建,该引擎被认为是目前最准确的 OCR 引擎之一。

IronOCR 可用于从 PNG、JPG、TIFF 和 PDF 等多种不同文件格式的图像中读取文本。 它还提供了一系列用于文本识别的高级功能,如识别多种语言的能力,以及从旋转或倾斜的图像中识别文本的能力。 此外,开发人员还可以使用 IronOCR 将 OCR 功能快速集成到自己的应用程序中,因为它提供了一个简单易用的 API,可以从 C# 或 VB.NET 代码中调用。 使用 IronOCR,您可以选择 OCR 语言,并对图像、数字 PDF 文件和扫描的 PDF 文件执行 OCR。

对于希望在应用程序中添加 OCR 功能的开发人员来说,IronOCR 被认为是一个不错的选择。 它是开源的,易于使用和集成,快速、准确,并采用最新的 OCR 技术。

2.IronOCR 功能

IronOCR 提供了广泛的功能,可帮助开发人员将 OCR 功能集成到他们的应用程序中。 IronOCR 的一些主要功能包括

  1. *支持多种语言***:IronOCR 可以识别 60 多种语言的文本,包括英语、西班牙语、德语、法语、意大利语和中文。

  2. *自动检测文本方向***:IronOCR 可以自动检测图像中文字的方向,即使图像已经旋转或倾斜。

  3. 支持多种图像格式TIFFPDF.

  4. 可定制的识别设置:开发人员可以自定义识别设置,以提高特定类型图像或使用案例的识别准确性。

  5. 能够识别扫描文档和多页 PDF 中的文本。

  6. 识别速度快、准确率高:IronOCR 使用 Tesseract OCR 引擎,这是目前最准确、使用最广泛的 OCR 引擎之一。

  7. 易于使用的应用程序接口:IronOCR 提供了一个简单易用的 API,可以从 C# 或 VB.NET 代码中调用,从而可以轻松地将 OCR 功能集成到任何应用程序中。

    总的来说,IronOCR 是一款功能强大的工具,它提供了广泛的功能,可以帮助开发人员在其应用程序中添加 OCR 功能。

3.在 Visual Studio 中创建新项目

打开 Visual Studio,进入文件菜单。 选择 "新建项目",然后选择控制台应用程序。

在相应文本框中输入项目名称并选择路径。 然后,单击 "创建 "按钮。 选择所需的 .NET Framework,如下面的截图所示:

如何在 C# 中 OCR 获取屏幕截图中的文本,图 1:在 Visual Studio 中创建新项目

在 Visual Studio 中创建新项目

Visual Studio 项目现在将生成控制台应用程序的结构。 完成后,它将打开 program.cs 文件,您可以在其中编写和执行源代码。

图 2:从 Visual Studio 的新建项目向导生成的 program.cs 文件

从 Visual Studio 的新建项目向导生成的 program.cs 文件

现在我们可以添加 IronOCR 库并测试程序了。

4.安装 IronOCR

在 Visual Studio 中,您可以轻松地将 IronOCR 与您的 C# 项目集成。

IronOCR 提供了与 C# .NET 项目集成的多种流程。 这里,我们将讨论其中之一:使用 NuGet 包管理器安装 IronOCR。

在 Visual Studio 中,转到 工具 > NuGet 包管理器 > 包管理器控制台

如何在 C# 中 OCR 获取屏幕截图中的文本,图 3:NuGet 软件包管理器用户界面

NuGet 软件包管理器用户界面

点击后,Visual Studio 窗口底部将出现一个新的控制台。 在控制台中键入以下命令并按回车键。

Install-Package IronOcr

只需几秒钟,IronOCR 即可安装完毕。

5.使用 IronOCR 对截图进行 OCR 识别

IronOCR 是一个功能强大的 OCR 库,可用于识别屏幕截图中的文本。 使用 IronOCR,您可以截取文本截图,然后使用库的 OCR 功能将截图中的文本转换为可编辑的数字格式。 下面是一个如何使用 IronOCR 在 C# 中对截图执行 OCR 的示例。 要执行屏幕截图 OCR,只需截取屏幕截图并运行以下代码,即可将文本提取为您想要的任何输出格式。

using IronOcr;
using System;

string imageText = new IronTesseract().Read("ocr.png").Text;
Console.WriteLine(imageText);
using IronOcr;
using System;

string imageText = new IronTesseract().Read("ocr.png").Text;
Console.WriteLine(imageText);
Imports IronOcr
Imports System

Private imageText As String = (New IronTesseract()).Read("ocr.png").Text
Console.WriteLine(imageText)
VB   C#

输入图像文件

如何在 C# 中 OCR 获取屏幕截图中的文本,图 4:用于输入的屏幕截图示例

用于输入的屏幕截图示例

文本输出

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 127+ global language packs
- Output as text, structured data, or searchable PDFs
- Supports NET 6, 5, Core, Standard, Framework

6.使用 IronOCR 对特定区域进行 OCR 识别

IronOCR 允许您对图像中的特定区域执行 OCR。 当图片包含多个区域的文本,而您只想识别特定区域内的文本时,这可能会很有用。 相关代码示例如下。

using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
    var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);
    ocrInput.AddImage("ocr.png", contentArea);
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
    var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);
    ocrInput.AddImage("ocr.png", contentArea);
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Private ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput()
	Dim contentArea = New CropRectangle(x:= 0, y:= 0, width:= 350, height:= 150)
	ocrInput.AddImage("ocr.png", contentArea)
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

输出

  • IronOCR for .NET
  • C# OCR库
  • OCR for C#用于扫描和读取图像和PDF
  • 带有 127+ 全球语言包的 .NET OCR 库

7.使用 IronOCR 对图像进行 OCR 识别

要对图像执行 OCR 并将识别出的文本保存到 .txt 文件中,可以使用以下代码。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput("ocr.png"))
{
    var result = ocr.Read(input);
    result.SaveAsTextFile("output.txt");
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput("ocr.png"))
{
    var result = ocr.Read(input);
    result.SaveAsTextFile("output.txt");
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using input = New OcrInput("ocr.png")
	Dim result = ocr.Read(input)
	result.SaveAsTextFile("output.txt")
End Using
VB   C#

输出文件的内容如下所示:

如何在 C# 中 OCR 获取屏幕截图中的文本,图 5:生成的 output.txt 文件的内容

生成的 output.txt 文件内容

8.了解更多信息

阅读图像文本提取有关如何在图像上执行 OCR 的更多信息,请参阅教程。

IronOCR 属于套件翻译的内容包括五个.NET 库,这些库设计用于处理不同类型的文档。 您只需花两个库的价格即可购买全部五个库许可证.

< 前一页
如何在 C# 教程中从发票获取文本
下一步 >
如何在C#中OCR字幕(教程)

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

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