文本识别器指南

此简短教程逐步讲解适用于 WinForms 的 Windows AI Foundry 示例 中包含的文本识别功能。 具体而言,它演示如何使用 Windows AI Foundry API 对图像执行文本识别并汇总已识别的文本。

先决条件

完成 WinForms 的 “入门”页 中的步骤。

介绍

MainForm.cs中的 MainForm 类是 Windows AI Foundry 示例应用程序的主要用户界面,实现以下功能:

  • 选择文件:允许用户从其文件系统中选择图像文件,并在 PictureBox 中显示该图像。
  • 处理图像:处理所选图像以使用光学字符识别(OCR)提取文本,然后汇总提取的文本。

关键函数和事件处理程序

适用于 WinForms 的 Windows AI Foundry 示例 中的一些更重要的函数和事件处理程序包括:

  • SelectFile_Click:为用户打开文件对话框以选择图像文件并显示所选图像。
  • ProcessButton_Click:处理所选图像的处理,包括加载 AI 模型、执行文本识别和汇总文本。
  • LoadAIModels:加载必要的 AI 模型(TextRecognizer 和 LanguageModel),以便进行文本识别和汇总。
  • PerformTextRecognition:使用 TextRecognizer 对所选图像执行 OCR 并提取文本。 此函数包含在以下 文本识别示例中
  • SummarizeImageText:使用 LanguageModel 生成给定提示的提取文本的摘要。

文本识别示例

PerformTextRecognition此示例中的函数

输入图像。

初始化的示例应用。

private async Task<string> PerformTextRecognition()
{
    using TextRecognizer textRecognizer = await TextRecognizer.CreateAsync();
    ImageBuffer? imageBuffer = await LoadImageBufferFromFileAsync(pathToImage);

    if (imageBuffer == null)
    {
        throw new Exception("Failed to load image buffer.");
    }

    RecognizedText recognizedText = 
        textRecognizer!.RecognizeTextFromImage(imageBuffer);

    var recognizedTextLines = recognizedText.Lines.Select(line => line.Text);
    string text = string.Join(Environment.NewLine, recognizedTextLines);

    richTextBoxForImageText.Text = text;
    return text;
}

捕获图像文本后的示例应用(显示在左下框)和汇总图像文本(显示在右下框)。

生成和运行示例

  1. 存储库 克隆到 Copilot+PC。
  2. 在 Visual Studio 2022 中打开解决方案文件WindowsCopilotRuntimeSample.sln。
  3. 更改解决方案平台以匹配 Copilot+ 电脑的体系结构。
  4. 右键单击解决方案资源管理器中的解决方案,然后选择“生成”以生成解决方案。
  5. 生成成功后,右键单击解决方案资源管理器中的项目,然后选择“设置为启动项目”。
  6. 按 F5 或从“调试”菜单中选择“开始调试”以运行示例。 注意:也可以通过从“调试”菜单或 Ctrl+F5 中选择“启动而不调试”来运行该示例。

另请参阅