Partilhar via


Início Rápido: Azure Vision v3.2 GA Read

Edições para OCR (Leitura)

Importante

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

Entrada Exemplos Ler edição Benefício
Imagens: Imagens gerais, capturadas no ambiente natural rótulos, sinais de rua e cartazes OCR para imagens (versão 4.0) Otimizado para imagens gerais não documentais com uma API síncrona de desempenho aprimorado que facilita a incorporação de OCR em cenários de experiência do usuário.
Documentos: digitais e digitalizados, incluindo imagens livros, artigos e relatórios Modelo de leitura do Document Intelligence Otimizado para documentos escaneados e digitais com grande volume de texto, com uma API assíncrona para ajudar a automatizar o processamento inteligente de documentos em grande escala.

Sobre Azure Vision v3.2 GA Read

Procura pela capacidade de leitura mais recente do Azure Vision v3.2 GA? Todos os futuros aprimoramentos 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 nas Foundry Tools, Leia API, REST ou bibliotecas de clientes. A API de leitura fornece algoritmos de IA para extrair texto de imagens e retorná-lo como cadeias de caracteres estruturadas. Siga estas etapas para instalar um pacote em seu aplicativo e experimente o código de exemplo para tarefas básicas.

Use a biblioteca de cliente de reconhecimento ótico de caracteres (OCR) 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 reconhecimento de texto, consulte a visão geral de OCR. O código nesta secção utiliza o pacote mais recente do Azure Vision dentro das Foundry Tools.

Gorjeta

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

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

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente.
  • O IDE do Visual Studio ou a versão atual do .NET Core.
  • Um recurso Azure Vision. Você pode usar o nível de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • A chave e o ponto final do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso do Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Terminal.
    3. Copie uma das chaves e o Endpoint para uso posterior no início rápido.

Criar variáveis de ambiente

Neste exemplo, escreva suas credenciais em variáveis de ambiente na máquina local que executa o aplicativo.

Aceda ao portal do Azure. Se o recurso criado na seção Pré-requisitos for implantado com êxito, selecione Ir para o recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade em Gerenciamento de Recursos na página Chaves e Ponto Final do recurso Face. Sua chave de recurso não é a mesma que sua ID de assinatura do 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 seu recurso.
  • Para definir a variável de VISION_ENDPOINT ambiente, substitua <your_endpoint> pelo ponto de extremidade do seu recurso.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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 Chaves de API com o Cofre de Chaves do Azure.

Para obter mais informações sobre segurança de 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 o Visual Studio, crie um projeto de Aplicativo de Console (.NET Framework) para C#, Windows, Console.

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

    1. Clique com o botão direito do mouse na solução do projeto no Gerenciador de Soluções e selecione Gerenciar Pacotes NuGet para Solução.
    2. No gerenciador de pacotes aberto, selecione Procurar. Selecione Incluir pré-lançamento.
    3. Procure e selecione Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. Na caixa de diálogo 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 preferido. Substitua o conteúdo do 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 etapa opcional, consulte Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo GA mais recente, edite a chamada ReadAsync conforme mostrado. Ignore o parâmetro ou use "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. Execute a aplicação.

    • 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 quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

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

Use a biblioteca de cliente de reconhecimento ótico de caracteres (OCR) 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 reconhecimento de texto, consulte a visão geral de OCR.

Gorjeta

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

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

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente.
  • Python 3.x.
  • Sua instalação do Python deve incluir pip. Você pode verificar se você tem pip instalado, executar pip --version na linha de comando. Obtenha o pip ao instalar a versão mais recente do Python.
  • Um recurso Azure Vision no Foundry Tools. Você pode usar o nível de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • A chave e o ponto final do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso do Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Terminal.
    3. Copie uma das chaves e o Endpoint para uso posterior no início rápido.

Criar variáveis de ambiente

Neste exemplo, escreva suas credenciais em variáveis de ambiente na máquina local que executa o aplicativo.

Aceda ao portal do Azure. Se o recurso criado na seção Pré-requisitos for implantado com êxito, selecione Ir para o recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade em Gerenciamento de Recursos na página Chaves e Ponto Final do recurso Face. Sua chave de recurso não é a mesma que sua ID de assinatura do 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 seu recurso.
  • Para definir a variável de VISION_ENDPOINT ambiente, substitua <your_endpoint> pelo ponto de extremidade do seu recurso.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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 Chaves de API com o Cofre de Chaves do Azure.

Para obter mais informações sobre segurança de 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 do cliente.

    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 no seu editor ou IDE preferido.

  4. Substitua o conteúdo do 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://v4.hkg1.meaqua.org/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 etapa opcional, consulte Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo de GA mais recente, edite a read instrução conforme mostrado. O parâmetro pode ser ignorado ou "latest" usado automaticamente para aplicar 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. Execute a aplicação com o comando python no seu ficheiro 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 quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

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

Use a biblioteca de cliente de reconhecimento ótico de caracteres (OCR) 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 reconhecimento de texto, consulte a visão geral de OCR.

Gorjeta

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

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

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente.
  • A versão atual do Node.js.
  • Um recurso Azure Vision no Foundry Tools. Você pode usar o nível de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • A chave e o ponto final do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso do Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Terminal.
    3. Copie uma das chaves e o Endpoint para uso posterior no início rápido.

Criar variáveis de ambiente

Neste exemplo, escreva suas credenciais em variáveis de ambiente na máquina local que executa o aplicativo.

Aceda ao portal do Azure. Se o recurso criado na seção Pré-requisitos for implantado com êxito, selecione Ir para o recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade em Gerenciamento de Recursos na página Chaves e Ponto Final do recurso Face. Sua chave de recurso não é a mesma que sua ID de assinatura do 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 seu recurso.
  • Para definir a variável de VISION_ENDPOINT ambiente, substitua <your_endpoint> pelo ponto de extremidade do seu recurso.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.

Use chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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 Chaves de API com o Cofre de Chaves do Azure.

Para obter mais informações sobre segurança de 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 uma aplicação Node.js com um ficheiro package.json. Selecione Enter para quaisquer prompts.

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

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

    npm install async
    

    O ficheiro do seu aplicativo package.json é 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 em seu 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 etapa opcional, consulte Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo de GA mais recente, edite a read instrução conforme mostrado. O parâmetro pode ser ignorado ou "latest" usado automaticamente para aplicar o modelo GA mais recente.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Execute a aplicação com o comando node no seu ficheiro 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 quiseres limpar e remover uma subscrição do Foundry Tools, podes eliminar o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos

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

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

Nota

Este guia de 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 do GitHub para obter exemplos em C#, Python, Java e JavaScript.

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente.
  • cURL instalado.
  • Um recurso Azure Vision no Foundry Tools. Você pode usar o nível de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • A chave e o ponto final do recurso que cria para ligar a sua aplicação ao Azure Vision.
    1. Depois que o recurso do Azure Vision for implantado, selecione Ir para o recurso.
    2. No painel esquerdo, selecione Chaves e Terminal.
    3. Copie uma das chaves e o Endpoint para uso posterior no início rápido.

Ler texto impresso e manuscrito

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

Chamar a API de leitura

Para criar e executar o exemplo, siga os seguintes passos:

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

  2. Faça as alterações seguintes ao comando, se for necessário:

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

      Nota

      Novos recursos criados após 1º de julho de 2019 usarão 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 o URL da imagem no corpo do pedido (https://v4.hkg1.meaqua.org/azure/ai-services/computer-vision/media/quickstarts/presentation.png) pelo URL de uma imagem diferente a ser analisada.
  3. Abra uma janela da linha de comandos.

  4. Cole o comando a partir do editor de texto na janela da linha de comandos e, em seguida, 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://v4.hkg1.meaqua.org/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. O URL expira em 48 horas.

Opcionalmente, especifique a versão do modelo

Como etapa opcional, consulte Determinar como processar os dados. Por exemplo, para especificar explicitamente o modelo GA mais recente, use model-version=2022-04-30 como parâmetro. O parâmetro pode ser ignorado ou model-version=latest usado automaticamente para aplicar 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://v4.hkg1.meaqua.org/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

Obter resultados da leitura

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

  2. Substitua a URL pelo valor Operation-Location 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 é devolvida no JSON. A aplicação de exemplo analisa e apresenta uma resposta de êxito 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
              }
            ]
          }
        ]
      }
    ]
  }
}

Limpar recursos

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

Próximos passos

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

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente.

  • Um recurso Azure Vision. Você pode usar o nível de preço gratuito (F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.

  • Conecte-se ao Vision Studio.

    • Poderá ter de iniciar sessão.
    • Depois de iniciar sessão, selecione Ver todos os recursos. Se necessário, selecione Atualizar. Verifique se o recurso está disponível.

    Para obter mais informações, consulte Introdução ao uso do Vision Studio.

Ler texto impresso e manuscrito

  1. Em Reconhecimento ótico de caracteres, selecione Extrair texto de imagens.

  2. Em Experimentar, reconheça que esta demonstração implica utilização da sua conta Azure. Para mais informações, consulte preços Azure Vision.

  3. Selecione uma imagem do conjunto disponível ou carregue a sua.

  4. Se necessário, selecione Selecione um recurso para selecionar seu recurso.

    Depois de selecionar a imagem, o texto extraído aparece na janela de saída. Você também pode selecionar a guia JSON para ver a saída JSON que a chamada de API retorna.

Abaixo da experiência de teste estão as próximas etapas para começar a usar este recurso na sua própria aplicação.

Próximos passos

Neste início rápido, você usou o Vision Studio para acessar a API de leitura. Em seguida, saiba mais sobre os recursos da API de leitura.