如何在 C# 中使用 IronOCR 读取屏幕截图

This article was translated from English: Does it need improvement?
Translated
View the article in English

屏幕截图是一种快速简便的信息共享方式,可以快速捕获重要信息并发送给同事和同行。 然而,由于屏幕截图的尺寸和噪点等因素,从屏幕截图中提取文本往往很困难。 这使得屏幕截图在发布 OCR 时成为一种不太有效的媒介。

然而,IronOCR 通过提供ReadScreenshot等专门方法来解决这个问题。 ReadScreenshot专为读取屏幕截图和从中提取信息而优化; 它还支持常见的文件格式。

要使用此功能,您还必须安装IronOCR.Extension.AdvancedScan软件包。

快速入门:从屏幕截图中读取文本

使用 IronOCR 的ReadScreenshot ,只需几秒钟即可开始使用——只需将屏幕截图加载到OcrInput中,调用ReadScreenShot ,即可通过OcrPhotoResult立即访问提取的文本、置信度分数和文本区域。 这是将图像转换为可用文本的最快方法,而且设置极少。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronOCR

    PM > Install-Package IronOcr

  2. 复制并运行这段代码。

    OcrPhotoResult result = new IronTesseract().ReadScreenShot(new OcrInput().LoadImage("screenshot.png"));
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronOCR,免费试用!
    arrow pointer

在本指南中,我们将快速演示如何使用 IronOCR 进行屏幕截图文本识别,并通过示例和结果对象的属性进行讲解。

阅读屏幕截图示例

要在 IronOCR 中读取屏幕截图,我们需要执行以下步骤。 我们使用ReadScreenshot方法,该方法接受OcrInput作为输入参数。 与库的标准Read方法相比,此方法更适合屏幕截图。

[{i:(

  • 该方法目前适用于英语、中文、日语、韩语以及拉丁字母等语言。
  • 在 .NET Framework 上使用高级扫描功能需要项目在 x64 架构上运行。 @@--bracket-close--@@@

输入

以下是我们为代码示例提供的输入; 我们将通过混合使用不同的字体和字号来展示这种方法的通用性。

Input

代码

:path=/static-assets/ocr/content-code-examples/how-to/read-screenshot-read-screenshot.cs
using IronOcr;
using System;
using System.Linq;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputScreenshot = new OcrInput();
inputScreenshot.LoadImage("screenshotOCR.png");

// Perform OCR
OcrPhotoResult result = ocr.ReadScreenShot(inputScreenshot);

// Output screenshot information
Console.WriteLine(result.Text);
Console.WriteLine(result.TextRegions.First().Region.X);
Console.WriteLine(result.TextRegions.Last().Region.Width);
Console.WriteLine(result.Confidence);
Imports IronOcr
Imports System
Imports System.Linq

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputScreenshot = New OcrInput()
inputScreenshot.LoadImage("screenshotOCR.png")

' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadScreenShot(inputScreenshot)

' Output screenshot information
Console.WriteLine(result.Text)
Console.WriteLine(result.TextRegions.First().Region.X)
Console.WriteLine(result.TextRegions.Last().Region.Width)
Console.WriteLine(result.Confidence)
$vbLabelText   $csharpLabel

输出

Output

从上面的控制台输出可以看出,它提取了屏幕截图中的所有文本实例。 让我们深入了解OcrPhotoResult的属性。

  • Text :从 OCR 输入中提取的文本。
  • Confidence :一个双重属性,表示统计准确性的置信度,范围从 0 到 1,其中 1 为最高置信度。
  • TextRegionTextRegion对象数组,其中包含返回屏幕截图中文本所在区域的属性。 默认情况下,所有TextRegion都是 IronOCR 模型中派生的Rectangle类。 它包括矩形的 x 和 y 坐标,以及矩形的高度和宽度。

常见问题解答

如何使用 C# 从截图中提取文本?

您可以使用 IronOCR 的 ReadScreenshot 方法从截图中提取文本。此方法针对截图进行了优化,支持多种语言。首先从 NuGet 下载 IronOCR 库,然后导入截图并使用 ReadScreenshot 函数来检索文本。

哪些文件格式与 ReadScreenshot 方法兼容?

IronOCR 中的 ReadScreenshot 方法旨在接受常见的图像文件格式,使其能够从各种类型的截图文件中提取文本。

为什么 ReadScreenshot 方法更适合用于截图?

ReadScreenshot 方法专门针对屏幕截图中通常存在的尺寸和噪声进行了优化,提供比标准 OCR 方法更准确的文本提取。

IronOCR 支持哪些语言进行 OCR 文本提取?

IronOCR 支持多种语言的 OCR 文本提取,包括英语、中文、日语、韩语和拉丁字母,使其适用于多种应用。

IronOCR 中的置信度属性如何工作?

在 IronOCR 中,Confidence 属性是一个从 0 到 1 的双精度值,表示提取文本的准确性概率。接近 1 的值表明更高的置信度水平。

IronOCR 中的 TextRegion 对象是什么?

IronOCR 中的 TextRegion 对象代表了在截图上检测到文本的特定区域。这些对象包括坐标和尺寸,帮助用户了解提取文本的布局。

我需要额外的包来增强 IronOCR 的功能吗?

是的,为了利用 IronOCR 的高级扫描功能,您应该从 NuGet 安装 IronOcr.Extension.AdvancedScan 包,这将增强库的性能和功能。

如何在我的 C# 项目中实现用于读取截图的 IronOCR?

要在 C# 项目中实现用于读取截图的 IronOCR,首先从 NuGet 下载库,导入截图图像,然后使用 ReadScreenshot 方法提取文本。最后,使用 OcrPhotoResult 属性处理提取的数据。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布