Compartilhar via


Passo a passo do reconhecedor de texto

Este breve tutorial explica a funcionalidade de reconhecimento de texto incluída nos exemplos da API de IA do Windows para WinForms. Especificamente, ele demonstra como usar APIs de IA do Windows para executar o reconhecimento de texto em uma imagem e resumir o texto reconhecido.

Pré-requisitos

Conclua as etapas na página Introdução para WinForms.

Introdução

A classe MainForm no MainForm.cs é a principal interface do usuário para o aplicativo de exemplo da API de IA do Windows que implementa a seguinte funcionalidade:

  • Selecionar Arquivo: permite que o usuário selecione um arquivo de imagem em seu sistema de arquivos e exibe essa imagem em uma PictureBox.
  • Imagem do processo: processa a imagem selecionada para extrair texto usando o OCR (Reconhecimento Óptico de Caracteres) e, em seguida, resume o texto extraído.

Principais funções e manipuladores de eventos

Algumas das funções e manipuladores de eventos mais significativos nos exemplos da API de IA do Windows para WinForms incluem o seguinte:

  • SelectFile_Click: abre uma caixa de diálogo de arquivo para o usuário selecionar um arquivo de imagem e exibe a imagem selecionada.
  • ProcessButton_Click: manipula o processamento da imagem selecionada, incluindo carregar modelos de IA, executar o reconhecimento de texto e resumir o texto.
  • LoadAIModels: carrega os modelos de IA necessários (TextRecognizer e LanguageModel) para reconhecimento e resumo de texto.
  • PerformTextRecognition: usa o TextRecognizer para executar o OCR na imagem selecionada e extrai o texto. Essa função está incluída no exemplo de reconhecimento de texto a seguir.
  • SummarizeImageText: usa o LanguageModel para gerar um resumo do texto extraído devido a um comando.

Exemplo de reconhecimento de texto

A PerformTextRecognition função neste exemplo

A imagem de entrada.

O aplicativo de exemplo inicializado.

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

Aplicativo de exemplo depois de capturar o texto da imagem (exibido na caixa inferior esquerda) e resumir o texto da imagem (exibido na caixa inferior direita).

Criar e executar o exemplo

  1. Clone o repositório WindowsAppSDK-Samples .
  2. Alterne para a branch "release/experimental".
  3. Navegue até a pasta Samples/WindowsAIFoundry/cs-winforms-pckg .
  4. Abra WindowsAISample.sln no Visual Studio 2022.
  5. Altere a Plataforma de Solução para corresponder à arquitetura do pc Copilot+.
  6. Clique com o botão direito do mouse na solução no Gerenciador de Soluções e selecione "Compilar" para criar a solução.
  7. Depois que o build for bem-sucedido, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione "Definir como Projeto de Inicialização".
  8. Pressione F5 ou selecione "Iniciar Depuração" no menu Depurar para executar o exemplo (o exemplo também pode ser executado sem depuração selecionando "Iniciar sem Depuração" no menu Depurar ou Ctrl+F5).

Consulte também