這段簡短的教學將介紹 Windows AI API 範例 中包含的文字辨識功能。 具體來說,它示範如何利用 Windows AI API 對圖片進行文字辨識並摘要已識別的文字。
先決條件
想了解Windows AI API 硬體需求,以及如何配置裝置以成功使用Windows AI API 建置應用程式,請參閱 開始用 Windows AI API 建構應用程式。
簡介
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 選取 [啟動但不偵錯] 來執行範例。