Introdução Rápida: Leitura de Disponibilidade Geral do Azure Vision v3.2

Edições OCR (Leitura)

Importante

Selecione a edição de leitura que melhor atende aos seus requisitos.

Entrada Exemplos Edição para leitura Benefício
Imagens: Imagens gerais, capturadas em ambientes naturais rótulos, placas de rua e cartazes OCR para imagens (versão 4.0) Otimizado para imagens gerais e não documentais com uma API síncrona aprimorada pelo desempenho que facilita a inserção do OCR em seus cenários de experiência do usuário.
Documentos: Digital e digitalizado, incluindo imagens livros, artigos e relatórios Modelo de leitura do Document Intelligence Otimizado para documentos com grande quantidade de texto, escaneados e digitais, com uma API assíncrona para ajudar a automatizar o processamento inteligente de documentos em escala.

About Azure Vision v3.2 GA Read

Procurando a versão mais recente do recurso de leitura da Azure Vision v3.2 em disponibilidade geral (GA)? Todos os aprimoramentos futuros do OCR de Leitura fazem parte dos dois serviços listados anteriormente. Não há mais atualizações para Azure Vision v3.2. Para obter mais informações, consulte Call Azure Vision 3.2 GA Read API and Quickstart: Azure Vision v3.2 GA Read.

Comece com Azure Vision no Foundry Tools acessando a API REST ou as bibliotecas cliente. A API de Leitura fornece algoritmos de IA para extrair texto de imagens e devolvê-lo como cadeias de caracteres estruturadas. Siga estas etapas para instalar um pacote em seu aplicativo e experimentar o código de exemplo para tarefas básicas.

Use a biblioteca de clientes OCR (reconhecimento óptico de caracteres) para ler texto impresso e manuscrito de uma imagem. O serviço OCR pode ler texto visível em uma imagem e convertê-lo em um fluxo de caracteres. Para obter mais informações sobre o reconhecimento de texto, consulte a visão geral do OCR. O código nesta seção usa o pacote Azure Vision in Foundry Tools mais recente.

Dica

Você também pode extrair texto de uma imagem local. Consulte os métodos ComputerVisionClient , como ReadInStreamAsync. Ou veja o código de exemplo em GitHub para cenários que envolvem imagens locais.

Documentação de referência | Código-fonte da biblioteca | Pacote (NuGet) | Exemplos

Pré-requisitos

  • Uma assinatura Azure – Criar uma gratuitamente.
  • A versão Visual Studio IDE ou atual do .NET Core.
  • um recurso Vision do Azure. Você pode usar o tipo de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
  • A chave e o ponto de extremidade do recurso que você cria para conectar seu aplicativo ao Azure Vision.
    1. Depois que o recurso Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Endpoint.
    3. Copie uma das chaves e o Ponto de Extremidade para uso posteriormente no início rápido.

Criar variáveis de ambiente

Neste exemplo, escreva suas credenciais em variáveis de ambiente no computador local que executa o aplicativo.

Vá para o portal do Azure. Se o recurso que você criou na seção Pré-requisitos for implantado com êxito, selecione Ir para o recurso nas próximas etapas. Você pode encontrar sua chave e seu ponto de extremidade no Gerenciamento de Recursos, na página Chaves e Ponto de Extremidade do recurso Face. Sua chave de recurso não é a mesma que sua ID de assinatura Azure.

Para definir a variável de ambiente para sua chave e ponto de extremidade, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a VISION_KEY variável de ambiente, substitua <your_key> por uma das chaves do recurso.
  • Para definir a variável de VISION_ENDPOINT ambiente, substitua <your_endpoint> pelo ponto de extremidade do recurso.

Importante

Recomendamos a autenticação Microsoft Entra ID com identidades gerenciadas para os recursos Azure para evitar armazenar credenciais nos seus aplicativos que são executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave de API diretamente em seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança em Azure Key Vault, gire as chaves regularmente e restrinja o acesso a Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte as chaves API com Azure Key Vault.

Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para Serviços de IA do Azure.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que lerão as variáveis de ambiente, incluindo a janela do console.

Ler texto impresso e manuscrito

  1. Crie um novo aplicativo C#.

    Usando Visual Studio, crie um projeto Console App (.NET Framework) para C#, Windows, Console.

    Depois de criar um novo projeto, instale a biblioteca de clientes:

    1. Clique com o botão direito do mouse na solução de projeto no Gerenciador de Soluções e selecione Manage NuGet Packages for Solution.
    2. No gerenciador de pacotes que é aberto, selecione Procurar. Selecione Incluir pré-lançamento.
    3. Pesquise e selecione Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. Na caixa de diálogo de detalhes, selecione seu projeto e selecione a versão estável mais recente. Em seguida, selecione Instalar.
  2. No diretório do projeto, abra o arquivo Program.cs em seu editor ou IDE preferencial. Substitua o conteúdo de Program.cs pelo código a seguir.

    using System;
    using System.Collections.Generic;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
    using System.Threading.Tasks;
    using System.IO;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System.Threading;
    using System.Linq;
    
    namespace ComputerVisionQuickstart
    {
        class Program
        {
            // Add your Computer Vision key and endpoint
            static string key = Environment.GetEnvironmentVariable("VISION_KEY");
            static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT");
    
            private const string READ_TEXT_URL_IMAGE = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Extract text (OCR) from a URL image using the Read API
                ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait();
            }
    
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
    
            public static async Task ReadFileUrl(ComputerVisionClient client, string urlFile)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("READ FILE FROM URL");
                Console.WriteLine();
    
                // Read text from URL
                var textHeaders = await client.ReadAsync(urlFile);
                // After the request, get the operation location (operation ID)
                string operationLocation = textHeaders.OperationLocation;
                Thread.Sleep(2000);
    
                // Retrieve the URI where the extracted text will be stored from the Operation-Location header.
                // We only need the ID and not the full URL
                const int numberOfCharsInOperationId = 36;
                string operationId = operationLocation.Substring(operationLocation.Length - numberOfCharsInOperationId);
    
                // Extract the text
                ReadOperationResult results;
                Console.WriteLine($"Extracting text from URL file {Path.GetFileName(urlFile)}...");
                Console.WriteLine();
                do
                {
                    results = await client.GetReadResultAsync(Guid.Parse(operationId));
                }
                while ((results.Status == OperationStatusCodes.Running ||
                    results.Status == OperationStatusCodes.NotStarted));
    
                // Display the found text.
                Console.WriteLine();
                var textUrlFileResults = results.AnalyzeResult.ReadResults;
                foreach (ReadResult page in textUrlFileResults)
                {
                    foreach (Line line in page.Lines)
                    {
                        Console.WriteLine(line.Text);
                    }
                }
                Console.WriteLine();
            }
    
        }
    }
    
  3. Como uma etapa opcional, confira Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo de GA mais recente, edite a chamada ReadAsync conforme exibido. Ignore o parâmetro ou use "latest" para usar o modelo de GA mais recente.

      // Read text from URL with a specific model version
      var textHeaders = await client.ReadAsync(urlFile,null,null,"2022-04-30");
    
  4. Execute o aplicativo.

    • No menu Depurar , selecione Iniciar Depuração.

Saída

Azure Vision - .NET quickstart example

----------------------------------------------------------
READ FILE FROM URL

Extracting text from URL file printed_text.jpg...


Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
Calories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

Limpar recursos

Se você quiser limpar e remover uma assinatura do Foundry Tools, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.

Próximas etapas

Neste início rápido, você aprendeu a instalar a biblioteca de clientes do OCR e usar a API de Leitura. Em seguida, saiba mais sobre os recursos da API de Leitura.

Use a biblioteca de clientes OCR (reconhecimento óptico de caracteres) para ler texto impresso e manuscrito de uma imagem remota. O serviço OCR pode ler texto visível em uma imagem e convertê-lo em um fluxo de caracteres. Para obter mais informações sobre o reconhecimento de texto, consulte a visão geral do OCR.

Dica

Você também pode ler texto de uma imagem local. Consulte os métodos ComputerVisionClientOperationsMixin , como read_in_stream. Ou veja o código de exemplo em GitHub para cenários que envolvem imagens locais.

Documentação de referência | Código-fonte da biblioteca | Pacote (PiPy) | Exemplos

Pré-requisitos

  • Uma assinatura Azure – Criar uma gratuitamente.
  • Python 3.x.
  • Sua instalação Python deve incluir pip. Você pode verificar se o pip está instalado, executando pip --version na linha de comando. Para obter o pip, instale a versão mais recente do Python.
  • um recurso do Azure Vision no Foundry Tools. Você pode usar o tipo de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
  • A chave e o ponto de extremidade do recurso que você cria para conectar seu aplicativo ao Azure Vision.
    1. Depois que o recurso Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Endpoint.
    3. Copie uma das chaves e o Ponto de Extremidade para uso posteriormente no início rápido.

Criar variáveis de ambiente

Neste exemplo, escreva suas credenciais em variáveis de ambiente no computador local que executa o aplicativo.

Vá para o portal do Azure. Se o recurso que você criou na seção Pré-requisitos for implantado com êxito, selecione Ir para o recurso nas próximas etapas. Você pode encontrar sua chave e seu ponto de extremidade no Gerenciamento de Recursos, na página Chaves e Ponto de Extremidade do recurso Face. Sua chave de recurso não é a mesma que sua ID de assinatura Azure.

Para definir a variável de ambiente para sua chave e ponto de extremidade, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a VISION_KEY variável de ambiente, substitua <your_key> por uma das chaves do recurso.
  • Para definir a variável de VISION_ENDPOINT ambiente, substitua <your_endpoint> pelo ponto de extremidade do recurso.

Importante

Recomendamos a autenticação Microsoft Entra ID com identidades gerenciadas para os recursos Azure para evitar armazenar credenciais nos seus aplicativos que são executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave de API diretamente em seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança em Azure Key Vault, gire as chaves regularmente e restrinja o acesso a Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte as chaves API com Azure Key Vault.

Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para Serviços de IA do Azure.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que lerão as variáveis de ambiente, incluindo a janela do console.

Ler texto impresso e manuscrito

  1. Instale a biblioteca de clientes.

    Em uma janela do console, execute o seguinte comando:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    
  2. Instale a biblioteca Pillow.

    pip install pillow
    
  3. Crie um novo arquivo de aplicativo Python, quickstart-file.py. Em seguida, abra-o em seu editor preferencial ou IDE.

  4. Substitua o conteúdo de quickstart-file.py pelo código a seguir.

    from azure.cognitiveservices.vision.computervision import ComputerVisionClient
    from azure.cognitiveservices.vision.computervision.models import OperationStatusCodes
    from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes
    from msrest.authentication import CognitiveServicesCredentials
    
    from array import array
    import os
    from PIL import Image
    import sys
    import time
    
    '''
    Authenticate
    Authenticates your credentials and creates a client.
    '''
    subscription_key = os.environ["VISION_KEY"]
    endpoint = os.environ["VISION_ENDPOINT"]
    
    computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))
    '''
    END - Authenticate
    '''
    
    '''
    OCR: Read File using the Read API, extract text - remote
    This example will extract text in an image, then print results, line by line.
    This API call can also extract handwriting style text (not shown).
    '''
    print("===== Read File - remote =====")
    # Get an image with text
    read_image_url = "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"
    
    # Call API with URL and raw response (allows you to get the operation location)
    read_response = computervision_client.read(read_image_url,  raw=True)
    
    # Get the operation location (URL with an ID at the end) from the response
    read_operation_location = read_response.headers["Operation-Location"]
    # Grab the ID from the URL
    operation_id = read_operation_location.split("/")[-1]
    
    # Call the "GET" API and wait for it to retrieve the results 
    while True:
        read_result = computervision_client.get_read_result(operation_id)
        if read_result.status not in ['notStarted', 'running']:
            break
        time.sleep(1)
    
    # Print the detected text, line by line
    if read_result.status == OperationStatusCodes.succeeded:
        for text_result in read_result.analyze_result.read_results:
            for line in text_result.lines:
                print(line.text)
                print(line.bounding_box)
    print()
    '''
    END - Read File - remote
    '''
    
    print("End of Computer Vision quickstart.")
    
    
  5. Como uma etapa opcional, confira Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo de GA mais recente, edite a read instrução conforme mostrado. Ignorar o parâmetro ou usar "latest" usa automaticamente o modelo de GA mais recente.

       # Call API with URL and raw response (allows you to get the operation location)
       read_response = computervision_client.read(read_image_url,  raw=True, model_version="2022-04-30")
    
  6. Execute o aplicativo com o python comando no arquivo de início rápido.

    python quickstart-file.py
    

Saída

===== Read File - remote =====
The quick brown fox jumps
[38.0, 650.0, 2572.0, 699.0, 2570.0, 854.0, 37.0, 815.0]
Over
[184.0, 1053.0, 508.0, 1044.0, 510.0, 1123.0, 184.0, 1128.0]
the lazy dog!
[639.0, 1011.0, 1976.0, 1026.0, 1974.0, 1158.0, 637.0, 1141.0]

End of Azure Vision quickstart.

Limpar recursos

Se você quiser limpar e remover uma assinatura do Foundry Tools, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.

Próximas etapas

Neste início rápido, você aprendeu a instalar a biblioteca de clientes do OCR e usar a API de Leitura. Em seguida, saiba mais sobre os recursos da API de Leitura.

Use a biblioteca de clientes OCR (reconhecimento óptico de caracteres) para ler texto impresso e manuscrito com a API de Leitura. O serviço OCR pode ler texto visível em uma imagem e convertê-lo em um fluxo de caracteres. Para obter mais informações sobre o reconhecimento de texto, consulte a visão geral do OCR.

Dica

Você também pode ler texto de uma imagem local. Consulte os métodos ComputerVisionClient , como readInStream. Ou veja o código de exemplo em GitHub para cenários que envolvem imagens locais.

Documentação de referência | Pacote (npm) | Amostras

Pré-requisitos

  • Uma assinatura Azure – Criar uma gratuitamente.
  • A versão atual do Node.js.
  • um recurso do Azure Vision no Foundry Tools. Você pode usar o tipo de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
  • A chave e o ponto de extremidade do recurso que você cria para conectar seu aplicativo ao Azure Vision.
    1. Depois que o recurso Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Endpoint.
    3. Copie uma das chaves e o Ponto de Extremidade para uso posteriormente no início rápido.

Criar variáveis de ambiente

Neste exemplo, escreva suas credenciais em variáveis de ambiente no computador local que executa o aplicativo.

Vá para o portal do Azure. Se o recurso que você criou na seção Pré-requisitos for implantado com êxito, selecione Ir para o recurso nas próximas etapas. Você pode encontrar sua chave e seu ponto de extremidade no Gerenciamento de Recursos, na página Chaves e Ponto de Extremidade do recurso Face. Sua chave de recurso não é a mesma que sua ID de assinatura Azure.

Para definir a variável de ambiente para sua chave e ponto de extremidade, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a VISION_KEY variável de ambiente, substitua <your_key> por uma das chaves do recurso.
  • Para definir a variável de VISION_ENDPOINT ambiente, substitua <your_endpoint> pelo ponto de extremidade do recurso.

Importante

Recomendamos a autenticação Microsoft Entra ID com identidades gerenciadas para os recursos Azure para evitar armazenar credenciais nos seus aplicativos que são executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave de API diretamente em seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança em Azure Key Vault, gire as chaves regularmente e restrinja o acesso a Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, consulte as chaves API com Azure Key Vault.

Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para Serviços de IA do Azure.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que lerão as variáveis de ambiente, incluindo a janela do console.

Ler texto impresso e manuscrito

Crie um novo aplicativo Node.js.

  1. Em uma janela do console, crie um novo diretório para seu aplicativo e navegue até ele.

    mkdir myapp
    cd myapp
    
  2. Execute o comando npm init para criar um aplicativo Node com um arquivo package.json. Selecione Enter para qualquer prompt.

    npm init
    
  3. Para instalar a biblioteca cliente, instale os pacotes npm ms-rest-azure e @azure/cognitiveservices-computervision.

    npm install ms-rest-azure
    npm install @azure/cognitiveservices-computervision
    
  4. Instale o módulo assíncrono:

    npm install async
    

    O arquivo package.json do aplicativo é atualizado com as dependências.

  5. Crie um novo arquivo, index.jse abra-o em um editor de texto.

  6. Cole o código a seguir no arquivo index.js .

    'use strict';
    
    const async = require('async');
    const fs = require('fs');
    const https = require('https');
    const path = require("path");
    const createReadStream = require('fs').createReadStream
    const sleep = require('util').promisify(setTimeout);
    const ComputerVisionClient = require('@azure/cognitiveservices-computervision').ComputerVisionClient;
    const ApiKeyCredentials = require('@azure/ms-rest-js').ApiKeyCredentials;
    /**
     * AUTHENTICATE
     * This single client is used for all examples.
     */
    const key = process.env.VISION_KEY;
    const endpoint = process.env.VISION_ENDPOINT;
    
    const computerVisionClient = new ComputerVisionClient(
      new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);
    /**
     * END - Authenticate
     */
    
    function computerVision() {
      async.series([
        async function () {
    
          /**
           * OCR: READ PRINTED & HANDWRITTEN TEXT WITH THE READ API
           * Extracts text from images using OCR (optical character recognition).
           */
          console.log('-------------------------------------------------');
          console.log('READ PRINTED, HANDWRITTEN TEXT AND PDF');
          console.log();
    
          // URL images containing printed and/or handwritten text. 
          // The URL can point to image files (.jpg/.png/.bmp) or multi-page files (.pdf, .tiff).
          const printedTextSampleURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg';
    
          // Recognize text in printed image from a URL
          console.log('Read printed text from URL...', printedTextSampleURL.split('/').pop());
          const printedResult = await readTextFromURL(computerVisionClient, printedTextSampleURL);
          printRecText(printedResult);
    
          // Perform read and await the result from URL
          async function readTextFromURL(client, url) {
            // To recognize text in a local image, replace client.read() with readTextInStream() as shown:
            let result = await client.read(url);
            // Operation ID is last path segment of operationLocation (a URL)
            let operation = result.operationLocation.split('/').slice(-1)[0];
    
            // Wait for read recognition to complete
            // result.status is initially undefined, since it's the result of read
            while (result.status !== "succeeded") { await sleep(1000); result = await client.getReadResult(operation); }
            return result.analyzeResult.readResults; // Return the first page of result. Replace [0] with the desired page if this is a multi-page file such as .pdf or .tiff.
          }
    
          // Prints all text from Read result
          function printRecText(readResults) {
            console.log('Recognized text:');
            for (const page in readResults) {
              if (readResults.length > 1) {
                console.log(`==== Page: ${page}`);
              }
              const result = readResults[page];
              if (result.lines.length) {
                for (const line of result.lines) {
                  console.log(line.words.map(w => w.text).join(' '));
                }
              }
              else { console.log('No recognized text.'); }
            }
          }
    
          /**
           * 
           * Download the specified file in the URL to the current local folder
           * 
           */
          function downloadFilesToLocal(url, localFileName) {
            return new Promise((resolve, reject) => {
              console.log('--- Downloading file to local directory from: ' + url);
              const request = https.request(url, (res) => {
                if (res.statusCode !== 200) {
                  console.log(`Download sample file failed. Status code: ${res.statusCode}, Message: ${res.statusMessage}`);
                  reject();
                }
                var data = [];
                res.on('data', (chunk) => {
                  data.push(chunk);
                });
                res.on('end', () => {
                  console.log('   ... Downloaded successfully');
                  fs.writeFileSync(localFileName, Buffer.concat(data));
                  resolve();
                });
              });
              request.on('error', function (e) {
                console.log(e.message);
                reject();
              });
              request.end();
            });
          }
    
          /**
           * END - Recognize Printed & Handwritten Text
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  7. Como uma etapa opcional, confira Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo de GA mais recente, edite a read instrução conforme mostrado. Ignorar o parâmetro ou usar "latest" usa automaticamente o modelo de GA mais recente.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Execute o aplicativo com o node comando no arquivo de início rápido.

    node index.js
    

Saída

-------------------------------------------------
READ PRINTED, HANDWRITTEN TEXT AND PDF

Read printed text from URL... printed_text.jpg
Recognized text:
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

-------------------------------------------------
End of quickstart.

Limpar recursos

Se você quiser limpar e remover uma assinatura do Foundry Tools, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.

Próximas etapas

Neste início rápido, você aprendeu a instalar a biblioteca de clientes do OCR e usar a API de Leitura. Em seguida, saiba mais sobre os recursos da API de Leitura.

Use a API REST do OCR (reconhecimento óptico de caracteres) para ler texto impresso e manuscrito.

Nota

Este início rápido usa comandos cURL para chamar a API REST. Você também pode chamar a API REST usando uma linguagem de programação. Consulte os exemplos de GitHub para obter exemplos em C#, Python, Java e JavaScript.

Pré-requisitos

  • Uma assinatura Azure – Criar uma gratuitamente.
  • cURL instalado.
  • um recurso do Azure Vision no Foundry Tools. Você pode usar o tipo de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para uma camada paga para produção.
  • A chave e o ponto de extremidade do recurso que você cria para conectar seu aplicativo ao Azure Vision.
    1. Depois que o recurso Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Endpoint.
    3. Copie uma das chaves e o Ponto de Extremidade para uso posteriormente no início rápido.

Ler texto impresso e manuscrito

O serviço OCR (reconhecimento óptico de caracteres) pode extrair texto visível em uma imagem ou documento e convertê-lo em um fluxo de caracteres. Para obter mais informações sobre a extração de texto, consulte a visão geral do OCR.

Chamar a API de Leitura

Para criar e executar o exemplo, execute as seguintes etapas:

  1. Copie o comando a seguir em um editor de texto.

  2. Faça as seguintes alterações no comando quando necessário:

    1. Substitua o valor de <key> pela sua chave.
    2. Substitua a primeira parte da URL da solicitação (https://westcentralus.api.cognitive.microsoft.com/) pelo texto em sua própria URL de ponto de extremidade.

      Nota

      Novos recursos criados após 1º de julho de 2019 usarão nomes de subdomínio personalizados. Para obter mais informações e uma lista completa de pontos de extremidade regionais, consulte Nomes de Subdomínio Personalizados para Ferramentas de Fundição.

    3. Opcionalmente, altere a URL da imagem no corpo da solicitação (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) para a URL de uma imagem diferente a ser analisada.
  3. Abra uma janela do prompt de comando.

  4. Cole o comando do editor de texto na janela do prompt de comando e execute o comando.

curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

A resposta inclui um Operation-Location cabeçalho, cujo valor é uma URL exclusiva. Use essa URL para consultar os resultados da operação de leitura. A URL expira em 48 horas.

Opcionalmente, especifique a versão do modelo

Como uma etapa opcional, confira Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo de GA mais recente, use model-version=2022-04-30 como o parâmetro. Ignorar o parâmetro ou usar model-version=latest usa automaticamente o modelo de GA mais recente.

curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze?model-version=2022-04-30" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

Obter resultados de leitura

  1. Copie o comando a seguir no editor de texto.

  2. Substitua a URL pelo Operation-Location valor copiado no procedimento anterior.

  3. Substitua o valor de <key> pela sua chave.

  4. Abra uma janela do console.

  5. Cole o comando do editor de texto na janela do console e execute o comando.

    curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {key}" --data-ascii "{body}" 
    

Examinar a resposta

Uma resposta bem-sucedida é retornada no JSON. O aplicativo de exemplo analisa e exibe uma resposta bem-sucedida na janela do console, semelhante ao exemplo a seguir:

{
  "status": "succeeded",
  "createdDateTime": "2021-04-08T21:56:17.6819115+00:00",
  "lastUpdatedDateTime": "2021-04-08T21:56:18.4161316+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 0,
        "width": 338,
        "height": 479,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              25,
              14,
              318,
              14,
              318,
              59,
              25,
              59
            ],
            "text": "NOTHING",
            "appearance": {
              "style": {
                "name": "other",
                "confidence": 0.971
              }
            },
            "words": [
              {
                "boundingBox": [
                  27,
                  15,
                  294,
                  15,
                  294,
                  60,
                  27,
                  60
                ],
                "text": "NOTHING",
                "confidence": 0.994
              }
            ]
          }
        ]
      }
    ]
  }
}

Limpar recursos

Se você quiser limpar e remover uma assinatura do Foundry Tools, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui outros recursos associados a ele.

Próximas etapas

Neste início rápido, você aprendeu a chamar a API REST de Leitura. Em seguida, saiba mais sobre os recursos da API de Leitura.