Поделиться через


Пошаговое руководство по распознавательу текста

В этом кратком руководстве рассматриваются функции распознавания текста, включенные в примеры API ИИ Windows для WinForms. В частности, в нем показано, как использовать API ИИ Windows для выполнения распознавания текста на изображении и суммировать распознанный текст.

Предпосылки

Выполните действия на странице "Начало работы " для WinForms.

Введение

Класс MainForm в MainForm.cs — это основной пользовательский интерфейс для примера приложения API Для Windows AI, реализующего следующие функции:

  • Выберите файл: позволяет пользователю выбрать файл изображения из файловой системы и отобразить это изображение в PictureBox.
  • Изображение процесса. Обрабатывает выбранное изображение для извлечения текста с помощью оптического распознавания символов (OCR), а затем суммирует извлеченный текст.

Ключевые функции и обработчики событий

Ниже приведены некоторые из более важных функций и обработчиков событий в примерах API ИИ Windows для WinForms:

  • SelectFile_Click: открывает диалоговое окно файла для пользователя, чтобы выбрать файл изображения и отобразить выбранное изображение.
  • ProcessButton_Click: обрабатывает обработку выбранного изображения, включая загрузку моделей ИИ, выполнение распознавания текста и суммирование текста.
  • LoadAIModels: загружает необходимые модели ИИ (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;
}

Пример приложения после записи текста изображения (отображаемого в левом нижнем углу) и суммирования текста изображения (отображаемого в правом нижнем поле).

Сборка и запуск примера

  1. Клонируйте репозиторий WindowsAppSDK-Samples .
  2. Перейдите в ветвь release/experimental.
  3. Перейдите в папку Samples/WindowsAIFoundry/cs-winforms-pckg .
  4. Откройте WindowsAISample.sln в Visual Studio 2022.
  5. Измените платформу решения, чтобы она соответствовала архитектуре компьютера Copilot+ .
  6. Щелкните правой кнопкой мыши на решении в обозревателе решений и выберите "Сборка", чтобы построить решение.
  7. После успешной сборки щелкните проект правой кнопкой мыши в обозревателе решений и выберите "Задать в качестве запускаемого проекта".
  8. Нажмите клавишу F5 или выберите "Начать отладку" в меню отладки, чтобы запустить пример (пример также можно запустить без отладки, нажав кнопку "Начать без отладки" в меню отладки или CTRL+F5).

См. также