Partilhar via


Passo a passo do reconhecedor de texto

Este breve tutorial percorre a funcionalidade de reconhecimento de texto incluída nos exemplos da API de IA do Windows para o WinForms. Especificamente, demonstra como usar APIs de IA do Windows para realizar reconhecimento de texto numa imagem e resumir o texto reconhecido.

Pré-requisitos

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

Introdução

A classe MainForm em MainForm.cs é a interface principal para a aplicação de exemplo da API de IA do Windows, que implementa a seguinte funcionalidade:

  • Select File: Permite que o usuário selecione um arquivo de imagem de seu sistema de arquivos e exiba essa imagem em um PictureBox.
  • Imagem de processo: processa a imagem selecionada para extrair texto usando o reconhecimento ótico de caracteres (OCR) e, em seguida, resume o texto extraído.

Principais funções e manipuladores de eventos

Algumas das funções e gestores de eventos mais significativos nos exemplos da API de IA do Windows para WinForms incluem as seguintes:

  • 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: Lida com o processamento da imagem selecionada, incluindo o carregamento de modelos de IA, a realização de reconhecimento de texto e o resumo do texto.
  • LoadAIModels: Carrega os modelos de IA necessários (TextRecognizer e LanguageModel) para reconhecimento e sumarização de texto.
  • PerformTextRecognition: Usa o TextRecognizer para executar OCR na imagem selecionada e extrai o texto. Esta função está incluída no seguinte exemplo de reconhecimento de texto.
  • SummarizeImageText: Usa o modelo de linguagem para gerar um resumo do texto extraído, dado 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. Mude para a ramificação "lançamento/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 seu 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. Quando a compilação for bem-sucedida, 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).

Ver também