Quickstart: Azure Vision v3.2 GA Read

Edições OCR (Leitura)

Importante

Selecione a edição Read que melhor se adequa às suas necessidades.

Entrada Exemplos Ler edição Benefício
Imagens: Imagens gerais, na natureza Rótulos, sinais de trânsito e cartazes OCR para imagens (versão 4.0) Otimizado para imagens gerais, não relacionadas com documentos, com uma API síncrona de desempenho melhorada que facilita a incorporação de OCR nos seus cenários de experiência de utilizador.
Documentos: Digitais e escaneados, incluindo imagens livros, artigos e relatórios Modelo de leitura de Inteligência de Documentos Otimizado para documentos digitalizados e digitalizados com muitos textos, com uma API assíncrona para ajudar a automatizar o processamento inteligente de documentos em grande escala.

Sobre Azure Vision v3.2 GA Read

Está à procura da versão de leitura mais recente do Azure Vision v3.2 em disponibilidade geral? Todas as futuras melhorias do Read OCR fazem parte dos dois serviços listados anteriormente. Não há mais atualizações para o Azure Vision v3.2. Para mais informações, consulte Call Azure Vision 3.2 GA Read API e Quickstart: Azure Vision v3.2 GA Read.

Comece a usar o Azure Vision com as Foundry Tools e aceda às APIs REST ou bibliotecas de clientes. A Read API fornece-lhe algoritmos de IA para extrair texto de imagens e devolvê-lo como cadeias estruturadas. Siga estes passos para instalar um pacote na sua aplicação e experimentar o código de exemplo para tarefas básicas.

Use a biblioteca cliente de reconhecimento ótico de caracteres (OCR) para ler texto impresso e manuscrito a partir de uma imagem. O serviço OCR pode ler texto visível numa imagem e convertê-lo num fluxo de caracteres. Para mais informações sobre reconhecimento de texto, consulte a visão geral do OCR. O código nesta secção utiliza o mais recente pacote Azure Vision no Foundry Tools.

Dica

Também podes extrair texto de uma imagem local. Veja os métodos ComputerVisionClient , como ReadInStreamAsync. Ou, consulte o código de exemplo em GitHub para cenários envolvendo imagens locais.

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

Pré-requisitos

  • Uma subscrição Azure - Crie uma gratuitamente.
  • A versão Visual Studio IDE ou atual de .NET Core.
  • Um recurso Azure Vision. Podes usar o escalão de preços gratuito (F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
  • A chave e o endpoint do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso Azure Vision for implementado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Keys e Endpoint.
    3. Copie uma das chaves e o Endpoint para usar mais tarde no quickstart.

Criar variáveis de ambiente

Neste exemplo, escreve as tuas credenciais para variáveis de ambiente na máquina local que executa a aplicação.

Vai ao portal do Azure. Se o recurso que criou na secção de Pré-requisitos foi implementado com sucesso, selecione Ir para o recurso em Próximos passos. Pode encontrar a sua chave e endpoint em Gestão de Recursos na página de Chaves e Endpoint do recurso Face. A tua chave de recurso não é a mesma que o teu ID de subscrição do Azure.

Para definir a variável de ambiente para a sua chave e endpoint, abra uma janela de consola e siga as instruções do seu sistema operativo e ambiente de desenvolvimento.

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

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades geridas para recursos do Azure, para evitar armazenar credenciais nas suas aplicações que correm na nuvem.

Use as chaves API com cautela. Não incluas a chave API diretamente no teu código e nunca a publiques publicamente. Se usar chaves API, guarde-as de forma segura no Azure Key Vault, rode as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controlo de acesso baseado em funções e restrições de acesso à rede. Para mais informações sobre o uso seguro das chaves da API nas suas aplicações, consulte Chaves da API com Azure Key Vault.

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

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Depois de adicionares as variáveis de ambiente, podes precisar de reiniciar quaisquer programas em execução que leiam as variáveis de ambiente, incluindo a janela da consola.

Leia texto impresso e manuscrito

  1. Crie uma nova aplicação C#.

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

    Depois de criar um novo projeto, instale a biblioteca do cliente:

    1. Clique com o botão direito na solução do projeto no Explorador de Soluções e selecione Gerir Pacotes NuGet para Solução.
    2. No gestor de pacotes que abre, selecione Navegar. Selecionar Incluir pré-lançamento.
    3. Procure e selecione Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. Na caixa de diálogo de detalhes, selecione o seu projeto e selecione a versão estável mais recente. Depois seleciona Instalar.
  2. A partir do diretório do projeto, abre o ficheiro Program.cs no teu editor ou IDE preferido. Substitua o conteúdo de Program.cs pelo seguinte código.

    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 passo opcional, veja Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo GA mais recente, edite a ReadAsync chamada conforme mostrada. Ignora o parâmetro ou usa "latest" para usar o modelo GA mais recente.

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

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

Produção

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.

Liberar recursos

Se quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.

Próximos passos

Neste quickstart, aprendeste a instalar a biblioteca cliente OCR e a usar a Read API. De seguida, saiba mais sobre as funcionalidades Read API.

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

Dica

Também pode ler texto a partir de uma imagem local. Consulte os métodos ComputerVisionClientOperationsMixin , como read_in_stream. Ou, consulte o código de exemplo em GitHub para cenários envolvendo imagens locais.

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

Pré-requisitos

  • Uma subscrição Azure - Crie uma gratuitamente.
  • Python 3.x.
  • A sua instalação Python deve incluir pip. Podes verificar se tens o pip instalado, executa pip --version na linha de comandos. Obtenha pip instalando a versão mais recente do Python.
  • Um recurso Azure Vision no Foundry Tools. Podes usar o escalão de preços gratuito (F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
  • A chave e o endpoint do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso Azure Vision for implementado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Keys e Endpoint.
    3. Copie uma das chaves e o Endpoint para usar mais tarde no quickstart.

Criar variáveis de ambiente

Neste exemplo, escreve as tuas credenciais para variáveis de ambiente na máquina local que executa a aplicação.

Vai ao portal do Azure. Se o recurso que criou na secção de Pré-requisitos foi implementado com sucesso, selecione Ir para o recurso em Próximos passos. Pode encontrar a sua chave e endpoint em Gestão de Recursos na página de Chaves e Endpoint do recurso Face. A tua chave de recurso não é a mesma que o teu ID de subscrição do Azure.

Para definir a variável de ambiente para a sua chave e endpoint, abra uma janela de consola e siga as instruções do seu sistema operativo e ambiente de desenvolvimento.

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

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades geridas para recursos do Azure, para evitar armazenar credenciais nas suas aplicações que correm na nuvem.

Use as chaves API com cautela. Não incluas a chave API diretamente no teu código e nunca a publiques publicamente. Se usar chaves API, guarde-as de forma segura no Azure Key Vault, rode as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controlo de acesso baseado em funções e restrições de acesso à rede. Para mais informações sobre o uso seguro das chaves da API nas suas aplicações, consulte Chaves da API com Azure Key Vault.

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

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Depois de adicionares as variáveis de ambiente, podes precisar de reiniciar quaisquer programas em execução que leiam as variáveis de ambiente, incluindo a janela da consola.

Leia texto impresso e manuscrito

  1. Instala a biblioteca do cliente.

    Numa janela de consola, execute o seguinte comando:

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

    pip install pillow
    
  3. Crie um novo ficheiro de aplicação Python, quickstart-file.py. Depois abre-o no teu editor ou IDE preferido.

  4. Substitua o conteúdo da quickstart-file.py pelo seguinte código.

    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 passo opcional, veja Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo GA mais recente, edite a read instrução conforme mostrado. Saltar o parâmetro ou usar "latest" automaticamente usa o modelo 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. Executa a aplicação com o python comando no teu ficheiro de início rápido.

    python quickstart-file.py
    

Produção

===== 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.

Liberar recursos

Se quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.

Próximos passos

Neste quickstart, aprendeste a instalar a biblioteca cliente OCR e a usar a Read API. De seguida, saiba mais sobre as funcionalidades Read API.

Use a biblioteca cliente de reconhecimento ótico de caracteres (OCR) para ler texto impresso e manuscrito com a Read API. O serviço OCR pode ler texto visível numa imagem e convertê-lo num fluxo de caracteres. Para mais informações sobre reconhecimento de texto, consulte a visão geral do OCR.

Dica

Também pode ler texto a partir de uma imagem local. Veja os métodos ComputerVisionClient , como readInStream. Ou, consulte o código de exemplo em GitHub para cenários envolvendo imagens locais.

Documentação | de referênciaPacote (npm) | Exemplos

Pré-requisitos

  • Uma subscrição Azure - Crie uma gratuitamente.
  • A versão atual de Node.js.
  • Um recurso Azure Vision no Foundry Tools. Podes usar o escalão de preços gratuito (F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
  • A chave e o endpoint do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso Azure Vision for implementado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Keys e Endpoint.
    3. Copie uma das chaves e o Endpoint para usar mais tarde no quickstart.

Criar variáveis de ambiente

Neste exemplo, escreve as tuas credenciais para variáveis de ambiente na máquina local que executa a aplicação.

Vai ao portal do Azure. Se o recurso que criou na secção de Pré-requisitos foi implementado com sucesso, selecione Ir para o recurso em Próximos passos. Pode encontrar a sua chave e endpoint em Gestão de Recursos na página de Chaves e Endpoint do recurso Face. A tua chave de recurso não é a mesma que o teu ID de subscrição do Azure.

Para definir a variável de ambiente para a sua chave e endpoint, abra uma janela de consola e siga as instruções do seu sistema operativo e ambiente de desenvolvimento.

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

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades geridas para recursos do Azure, para evitar armazenar credenciais nas suas aplicações que correm na nuvem.

Use as chaves API com cautela. Não incluas a chave API diretamente no teu código e nunca a publiques publicamente. Se usar chaves API, guarde-as de forma segura no Azure Key Vault, rode as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controlo de acesso baseado em funções e restrições de acesso à rede. Para mais informações sobre o uso seguro das chaves da API nas suas aplicações, consulte Chaves da API com Azure Key Vault.

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

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Depois de adicionares as variáveis de ambiente, podes precisar de reiniciar quaisquer programas em execução que leiam as variáveis de ambiente, incluindo a janela da consola.

Leia texto impresso e manuscrito

Crie uma nova Node.js aplicação.

  1. Numa janela de consola, crie um novo diretório para a sua aplicação e navegue até lá.

    mkdir myapp
    cd myapp
    
  2. Execute o comando npm init para criar uma aplicação Node.js com um ficheiro package.json. Selecione Enter para quaisquer prompts.

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

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

    npm install async
    

    O ficheiro da sua aplicação package.json é atualizado com as dependências.

  5. Cria um novo ficheiro, index.js, e abre-o num editor de texto.

  6. Cole o seguinte código no seu ficheiroindex.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 passo opcional, veja Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo GA mais recente, edite a read instrução conforme mostrado. Saltar o parâmetro ou usar "latest" automaticamente usa o modelo GA mais recente.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Executa a aplicação com o node comando no teu ficheiro de início rápido.

    node index.js
    

Produção

-------------------------------------------------
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.

Liberar recursos

Se quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.

Próximos passos

Neste quickstart, aprendeste a instalar a biblioteca cliente OCR e a usar a Read API. De seguida, saiba mais sobre as funcionalidades Read API.

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

Nota

Este quickstart utiliza comandos cURL para chamar a API REST. Também pode chamar a API REST usando uma linguagem de programação. Consulte os exemplos de GitHub para exemplos em C#, Python, Java e JavaScript.

Pré-requisitos

  • Uma subscrição Azure - Crie uma gratuitamente.
  • cURL instalado.
  • Um recurso Azure Vision no Foundry Tools. Podes usar o escalão de preços gratuito (F0) para experimentar o serviço, e depois fazer um upgrade para um nível pago para produção.
  • A chave e o endpoint do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso Azure Vision for implementado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Keys e Endpoint.
    3. Copie uma das chaves e o Endpoint para usar mais tarde no quickstart.

Leia texto impresso e manuscrito

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

Chame a Read API

Para criar e executar a amostra, faça os seguintes passos:

  1. Copie o comando seguinte para um editor de texto.

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

    1. Substitua o valor de <key> pela sua chave.
    2. Substitua a primeira parte do URL do pedido (https://westcentralus.api.cognitive.microsoft.com/) pelo texto no seu próprio URL de endpoint.

      Nota

      Novos recursos criados após 1 de julho de 2019 irão utilizar nomes de subdomínio personalizados. Para mais informações e uma lista completa de endpoints regionais, consulte Nomes de subdomínio personalizados para Foundry Tools.

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

  4. Cola o comando do editor de texto na janela do prompt de comandos e depois executa 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 única. Usa este URL para consultar os resultados da operação de leitura. A URL expira em 48 horas.

Opcionalmente, especifique a versão do modelo

Como passo opcional, veja Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo GA mais recente, use model-version=2022-04-30 como parâmetro. Saltar o parâmetro ou usar model-version=latest automaticamente usa o modelo 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 seguinte para o seu editor de texto.

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

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

  4. Abre uma janela de consola.

  5. Cola o comando do editor de texto na janela da consola e depois executa 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}" 
    

Analise a resposta

Uma resposta bem-sucedida é devolvida em JSON. A aplicação de exemplo analisa e apresenta uma resposta bem-sucedida na janela da consola, semelhante ao seguinte exemplo:

{
  "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
              }
            ]
          }
        ]
      }
    ]
  }
}

Liberar recursos

Se quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados a ele.

Próximos passos

Neste início rápido, aprendeu a chamar a API REST Read. De seguida, saiba mais sobre as funcionalidades Read API.