Freigeben über


Anleitung zur Texterkennung

In diesem kurzen Lernprogramm werden die Texterkennungsfunktionen im Windows AI Foundry-Beispiel für WinForms erläutert. Insbesondere wird veranschaulicht, wie Windows AI Foundry-APIs verwendet werden, um die Texterkennung für ein Bild durchzuführen und den erkannten Text zusammenzufassen.

Voraussetzungen

Führen Sie die Schritte auf der Seite "Erste Schritte " für WinForms aus.

Einleitung

Die MainForm-Klasse in MainForm.cs ist die Hauptbenutzeroberfläche für die Windows AI Foundry Sample-Anwendung und implementiert die folgenden Funktionen:

  • Wählen Sie "Datei" aus: Ermöglicht es dem Benutzer, eine Bilddatei aus dem Dateisystem auszuwählen und dieses Bild in einem PictureBox-Steuerelement anzuzeigen.
  • Prozessbild: Verarbeitet das ausgewählte Bild zum Extrahieren von Text mithilfe der optischen Zeichenerkennung (OCR) und fasst dann den extrahierten Text zusammen.

Wichtige Funktionen und Ereignishandler

Einige der signifikanteren Funktionen und Ereignishandler im Windows AI Foundry-Beispiel für WinForms umfassen Folgendes:

  • SelectFile_Click: Öffnet ein Dateidialogfeld für den Benutzer, um eine Bilddatei auszuwählen und das ausgewählte Bild anzuzeigen.
  • ProcessButton_Click: Behandelt die Verarbeitung des ausgewählten Bilds, einschließlich des Ladens von KI-Modellen, der Texterkennung und der Zusammenfassung des Texts.
  • LoadAIModels: Lädt die erforderlichen KI-Modelle (TextRecognizer und LanguageModel) für die Texterkennung und Zusammenfassung.
  • PerformTextRecognition: Verwendet den TextRecognizer, um OCR für das ausgewählte Bild auszuführen und den Text zu extrahieren. Diese Funktion ist im folgenden Beispiel für die Texterkennung enthalten.
  • SummarizeImageText: Verwendet das LanguageModel, um eine Zusammenfassung des extrahierten Texts zu generieren, der eine Eingabeaufforderung erhält.

Beispiel für die Texterkennung

Die PerformTextRecognition Funktion in diesem Beispiel

Das Eingabebild.

Die initialisierte Beispiel-App.

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;
}

Beispiel-App nach dem Erfassen von Bildtext (im unteren linken Feld angezeigt) und Zusammenfassen von Bildtext (im unteren rechten Feld angezeigt).

Erstellen und Ausführen des Beispiels

  1. Klonen Sie das Repository auf Ihren Copilot+PC.
  2. Öffnen Sie die Projektmappendatei WindowsCopilotRuntimeSample.sln in Visual Studio 2022.
  3. Ändern Sie die Lösungsplattform so, dass sie der Architektur Ihres Copilot+ PCs entspricht.
  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie „Erstellen“ aus, um eine Projektmappe zu erstellen.
  5. Nachdem der Build erfolgreich war, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie "Als Startprojekt festlegen" aus.
  6. Drücken Sie F5, oder wählen Sie im Menü "Debuggen starten" aus, um das Beispiel auszuführen. Hinweis: Das Beispiel kann auch ohne Debugging ausgeführt werden, indem im Menü "Debug" die Option "Ohne Debuggen starten" oder STRG+F5 ausgewählt wird.

Siehe auch