這段簡短的教學將介紹 Windows AI API 範例 中包含的文字辨識功能。 具體來說,它示範如何利用 Windows AI API 對圖片進行文字辨識並摘要已識別的文字。
先決條件
完成 WinForms 用戶入門頁面中 的步驟。
簡介
MainForm.cs 中的 MainForm 類別是 Windows AI API 範例應用程式的主要使用者介面,實作以下功能:
- 選取 [檔案]:讓使用者從文件系統中選取圖像檔,並在 PictureBox 中顯示該影像。
- 處理影像:使用光學字元辨識處理選取的影像以擷取文字,然後摘要擷取的文字。
重要函式和事件處理程式
Windows AI API 範例 中 WinForms 中較重要的函式與事件處理程式包括以下幾項:
-
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 存放庫。
- 切換至 「發行/實驗性」分支。
- 流覽至 Samples/WindowsAIFoundry/cs-winforms-pckg 資料夾。
- 在 Visual Studio 2022 中開啟WindowsAISample.sln。
- 變更解決方案平臺,以符合 Copilot+ 計算機的架構。
- 以滑鼠右鍵按兩下方案總管中的方案,然後選取 [建置] 以建置方案。
- 建置成功之後,以滑鼠右鍵按兩下方案總管中的項目,然後選取 [設定為啟始專案]。
- 按 F5 或從 [偵錯] 選單選取 [開始偵錯],以執行範例(您也可以從 [偵錯] 功能表或 Ctrl+F5 選取 [啟動但不偵錯] 來執行範例。