该简短教程介绍在 WinForms 中的 WindowsAIFoundry 示例程序 中包含的文本识别功能。 具体而言,它演示如何使用 Windows AI Foundry API 对图像执行文本识别并汇总已识别的文本。
先决条件
完成 WinForms 的 “入门”页 中的步骤。
介绍
MainForm.cs中的 MainForm 类是 Windows AI Foundry 示例应用程序的主要用户界面,实现以下功能:
- 选择文件:允许用户从其文件系统中选择图像文件,并在 PictureBox 中显示该图像。
 - 处理图像:处理所选图像以使用光学字符识别(OCR)提取文本,然后汇总提取的文本。
 
关键函数和事件处理程序
适用于 WinForm 的 WindowsAIFoundry 示例中 的一些更重要的函数和事件处理程序包括:
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;
}

生成和运行示例
- 克隆 WindowsAppSDK-Samples 存储库。
 - 切换到“release/experimental”分支。
 - 导航到 Samples/WindowsAIFoundry/cs-winforms-pckg 文件夹。
 - 在 Visual Studio 2022 中打开WindowsAISample.sln。
 - 更改解决方案平台以匹配 Copilot+ 电脑的体系结构。
 - 右键单击解决方案资源管理器中的解决方案,然后选择“生成”以生成解决方案。
 - 生成成功后,右键单击解决方案资源管理器中的项目,然后选择“设置为启动项目”。
 - 按 F5 或从“调试”菜单中选择“开始调试”以运行示例(也可以通过从调试菜单或 Ctrl+F5 中选择“启动而不调试”来运行示例)。