Freigeben über


Anleitung zur Texterkennung

Dieses kurze Lernprogramm führt Sie durch die Texterkennungsfunktionen, die in den Windows AI-API-Beispielen für WinForms enthalten sind. Insbesondere wird veranschaulicht, wie Windows AI-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-API-Beispiel-App, die die folgenden Funktionen implementiert:

  • Datei auswählen: Lässt den Benutzer eine Bilddatei aus seinem Dateisystem auswählen und zeigt dieses Bild in einer PictureBox.
  • 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 in den Windows AI-API-Beispielen 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 Sprachmodell, um anhand einer Eingabeaufforderung eine Zusammenfassung des extrahierten Texts zu erstellen.

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 WindowsAppSDK-Samples-Repository .
  2. Wechseln Sie zum Branch "release/experimental".
  3. Navigieren Sie zum Ordner "Samples/WindowsAIFoundry/cs-winforms-pckg" .
  4. Öffnen Sie WindowsAISample.sln in Visual Studio 2022.
  5. Ändern Sie die Lösungsplattform so, dass sie der Architektur Ihres Copilot+ PCs entspricht.
  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie „Erstellen“ aus, um eine Projektmappe zu erstellen.
  7. 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.
  8. Drücken Sie F5, oder wählen Sie im Menü "Debuggen starten" aus, um das Beispiel auszuführen (das Beispiel kann auch ohne Debugging ausgeführt werden, indem sie im Menü "Debuggen starten" oder STRG+F5 auswählen).

Siehe auch