此简短教程逐步讲解适用于 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;
}
生成和运行示例
- 将 存储库 克隆到 Copilot+PC。
- 在 Visual Studio 2022 中打开解决方案文件WindowsCopilotRuntimeSample.sln。
- 更改解决方案平台以匹配 Copilot+ 电脑的体系结构。
- 右键单击解决方案资源管理器中的解决方案,然后选择“生成”以生成解决方案。
- 生成成功后,右键单击解决方案资源管理器中的项目,然后选择“设置为启动项目”。
- 按 F5 或从“调试”菜单中选择“开始调试”以运行示例。 注意:也可以通过从“调试”菜单或 Ctrl+F5 中选择“启动而不调试”来运行该示例。