Guida introduttiva: Azure Visione virtuale v3.2 Lettura generale

Edizioni OCR (Read)

Importante

Seleziona l'edizione Lettura più adatta alle proprie esigenze.

Input Esempi Leggi l'edizione Beneficio
Immagini: immagini generali, spontanee etichette, segnali stradali e poster OCR per le immagini (versione 4.0) Ottimizzato per immagini generali non documentate con un'API sincrona ottimizzata per le prestazioni che semplifica l'incorporamento di OCR negli scenari di esperienza utente.
Documenti: digitali e digitalizzati, inclusi le immagini libri, articoli e report Modello di lettura di Document Intelligence Ottimizzato per documenti digitalizzati ricchi di testo e documenti digitali, con un'API asincrona per automatizzare l'elaborazione intelligente dei documenti su larga scala.

Informazioni su Azure Vision v3.2 Disponibilità Generale

Cerchi l'ultima lettura di Azure Vision v3.2 in disponibilità generale? Tutti i futuri miglioramenti delle funzionalità OCR fanno parte dei due servizi elencati in precedenza. Non sono disponibili altri aggiornamenti per Azure Vision v3.2. Per altre informazioni, vedere Call Azure Vision 3.2 GA Read API e Quickstart: Azure Vision v3.2 GA Read.

Introduzione a Azure Visione in Foundry Tools Leggi l'API REST o le librerie client. L'API Lettura offre algoritmi di intelligenza artificiale per estrarre testo dalle immagini e restituirlo come stringhe strutturate. Seguire questa procedura per installare un pacchetto nell'applicazione e provare il codice di esempio per le attività di base.

Usare la libreria client OCR (Optical Character Recognition) per leggere testo stampato e scritto a mano da un'immagine. Il servizio OCR può leggere testo visibile in un'immagine e convertirlo in un flusso di caratteri. Per altre informazioni sul riconoscimento del testo, vedere la panoramica di OCR. Questa sezione di codice utilizza l'ultimo pacchetto Azure Vision in Foundry Tools.

Suggerimento

È anche possibile estrarre testo da un'immagine locale. Vedere i metodi ComputerVisionClient , ad esempio ReadInStreamAsync. In alternativa, vedere il codice di esempio in GitHub per scenari che coinvolgono immagini locali.

Documentazione di riferimento | Codice sorgente della libreria | Package (NuGet) | Esempi

Prerequisiti

  • Sottoscrizione di Azure : Crearne una gratuitamente.
  • La versione attuale di IDE di Visual Studio o di .NET Core.
  • Una risorsa Vision di Azure. È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.
  • La chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision.
    1. Dopo la distribuzione della risorsa Azure Vision, selezionare Vai alla risorsa.
    2. Nel riquadro sinistro selezionare Chiavi ed endpoint.
    3. Copiare una delle chiavi e l'endpoint da usare più avanti nella guida di avvio rapido.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Passare al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Leggere testo stampato e scritto a mano

  1. Creare una nuova applicazione C#.

    Usando Visual Studio, creare un progetto Console App (.NET Framework) per C#, Windows, Console.

    Dopo aver creato un nuovo progetto, installare la libreria client:

    1. Fare clic con il pulsante destro del mouse sulla soluzione di progetto nel Esplora soluzioni e selezionare Gestisci pacchetti NuGet per soluzione.
    2. Nella gestione pacchetti visualizzata selezionare Sfoglia. Selezionare Includi versione preliminare.
    3. Cercare e selezionare Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. Nella finestra di dialogo dei dettagli selezionare il progetto e selezionare la versione stabile più recente. Selezionare quindi Installa.
  2. Dalla directory del progetto aprire il file Program.cs nell'editor o nell'IDE preferito. Sostituire il contenuto di Program.cs con il codice seguente.

    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. Come passaggio facoltativo, vedere Determinare come elaborare i dati. Ad esempio, per specificare in modo esplicito il modello GA più recente, modificare ReadAsync chiamata come illustrato. Omettete il parametro o usate "latest" per utilizzare il modello GA più recente.

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

    • Scegliere Avvia debug dal menu Debug.

Output

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.

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggi successivi

In questa guida introduttiva si è appreso come installare la libreria client OCR e usare l'API lettura. Successivamente, scopri di più sulle funzionalità dell'API di lettura.

Usare la libreria client OCR (Optical Character Recognition) per leggere testo stampato e scritto a mano da un'immagine remota. Il servizio OCR può leggere testo visibile in un'immagine e convertirlo in un flusso di caratteri. Per altre informazioni sul riconoscimento del testo, vedere la panoramica di OCR.

Suggerimento

È anche possibile leggere testo da un'immagine locale. Vedere i metodi ComputerVisionClientOperationsMixin , ad esempio read_in_stream. In alternativa, vedere il codice di esempio in GitHub per scenari che coinvolgono immagini locali.

documentazione di Reference | Codice sorgente della libreria | Package (PiPy) | Samples

Prerequisiti

  • Sottoscrizione di Azure : Crearne una gratuitamente.
  • Python 3.x.
  • L'installazione Python deve includere pip. È possibile verificare se pip è installato, eseguire pip --version nella riga di comando. Ottieni pip installando l'ultima versione di Python.
  • risorsa Azure Vision in Foundry Tools. È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.
  • La chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision.
    1. Dopo la distribuzione della risorsa Azure Vision, selezionare Vai alla risorsa.
    2. Nel riquadro sinistro selezionare Chiavi ed endpoint.
    3. Copiare una delle chiavi e l'endpoint da usare più avanti nella guida di avvio rapido.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Passare al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Leggere testo stampato e scritto a mano

  1. Installare la libreria client.

    In una finestra della console eseguire il comando seguente:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    
  2. Installare la libreria Pillow.

    pip install pillow
    
  3. Creare un nuovo file di applicazione Python quickstart-file.py. Aprirlo quindi nell'editor o nell'IDE preferito.

  4. Sostituire il contenuto di quickstart-file.py con il codice seguente.

    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. Come passaggio facoltativo, vedere Determinare come elaborare i dati. Ad esempio, per specificare in modo esplicito il modello ga più recente, modificare l'istruzione read come illustrato. Ignorando il parametro o usando "latest", viene automaticamente usato il modello GA più 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. Eseguire l'applicazione con il python comando nel file di avvio rapido.

    python quickstart-file.py
    

Output

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

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggi successivi

In questa guida introduttiva si è appreso come installare la libreria client OCR e usare l'API lettura. Successivamente, scopri di più sulle funzionalità dell'API di lettura.

Usare la libreria client OCR (Optical Character Recognition) per leggere testo stampato e scritto a mano con l'API Lettura. Il servizio OCR può leggere testo visibile in un'immagine e convertirlo in un flusso di caratteri. Per altre informazioni sul riconoscimento del testo, vedere la panoramica di OCR.

Suggerimento

È anche possibile leggere testo da un'immagine locale. Vedere i metodi ComputerVisionClient , ad esempio readInStream. In alternativa, vedere il codice di esempio in GitHub per scenari che coinvolgono immagini locali.

Documentazione di riferimento | Pacchetto (npm) | Esempi

Prerequisiti

  • Sottoscrizione di Azure : Crearne una gratuitamente.
  • Versione corrente di Node.js.
  • risorsa Azure Vision in Foundry Tools. È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.
  • La chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision.
    1. Dopo la distribuzione della risorsa Azure Vision, selezionare Vai alla risorsa.
    2. Nel riquadro sinistro selezionare Chiavi ed endpoint.
    3. Copiare una delle chiavi e l'endpoint da usare più avanti nella guida di avvio rapido.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Passare al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Leggere testo stampato e scritto a mano

Creare una nuova applicazione Node.js.

  1. In una finestra della console creare una nuova directory per l'app e passare a essa.

    mkdir myapp
    cd myapp
    
  2. Eseguire il npm init comando per creare un'applicazione node con un package.json file. Selezionare Invio per eventuali richieste.

    npm init
    
  3. Per installare la libreria client, installare i pacchetti npm ms-rest-azure e @azure/cognitiveservices-computervision.

    npm install ms-rest-azure
    npm install @azure/cognitiveservices-computervision
    
  4. Installare il modulo asincrono:

    npm install async
    

    Il file dell'app package.json viene aggiornato con le dipendenze.

  5. Creare un nuovo file, index.jse aprirlo in un editor di testo.

  6. Incollare il codice seguente nel file 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. Come passaggio facoltativo, vedere Determinare come elaborare i dati. Ad esempio, per specificare in modo esplicito il modello ga più recente, modificare l'istruzione read come illustrato. Ignorando il parametro o usando "latest", viene automaticamente usato il modello GA più recente.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Eseguire l'applicazione con il node comando nel file di avvio rapido.

    node index.js
    

Output

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

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggi successivi

In questa guida introduttiva si è appreso come installare la libreria client OCR e usare l'API lettura. Successivamente, scopri di più sulle funzionalità dell'API di lettura.

Usare l'API REST OCR (Optical Character Recognition) per leggere testo stampato e scritto a mano.

Nota

Questa guida introduttiva usa i comandi cURL per chiamare l'API REST. È anche possibile chiamare l'API REST usando un linguaggio di programmazione. Vedere gli esempi di GitHub per esempi in C#, Python, Java e JavaScript.

Prerequisiti

  • Sottoscrizione di Azure : Crearne una gratuitamente.
  • cURL installato.
  • risorsa Azure Vision in Foundry Tools. È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.
  • La chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision.
    1. Dopo la distribuzione della risorsa Azure Vision, selezionare Vai alla risorsa.
    2. Nel riquadro sinistro selezionare Chiavi ed endpoint.
    3. Copiare una delle chiavi e l'endpoint da usare più avanti nella guida di avvio rapido.

Leggere testo stampato e scritto a mano

Il servizio di riconoscimento ottico dei caratteri (OCR) può estrarre testo visibile in un'immagine o in un documento e convertirlo in un flusso di caratteri. Per altre informazioni sull'estrazione di testo, vedere la panoramica di OCR.

Chiamare l'API di lettura

Per creare ed eseguire l'esempio, seguire questa procedura:

  1. Copiare il comando seguente in un editor di testo.

  2. Apportare le modifiche seguenti nel comando, se necessario:

    1. Sostituire il valore di <key> con la tua chiave.
    2. Sostituire la prima parte dell'URL della richiesta (https://westcentralus.api.cognitive.microsoft.com/) con il testo nell'URL dell'endpoint.

      Nota

      Le nuove risorse create dopo il 1° luglio 2019 useranno nomi di sottodomini personalizzati. Per ulteriori informazioni e un elenco completo degli endpoint regionali, vedere Nomi di sottodomini personalizzati per gli strumenti Foundry.

    3. Facoltativamente, modificare l'URL dell'immagine nel corpo della richiesta (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) impostando l'URL di un'immagine diversa da analizzare.
  3. Aprire una finestra del prompt dei comandi.

  4. Incollare il comando dall'editor di testo nella finestra del prompt dei comandi e quindi eseguire il 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'}"

La risposta include un'intestazione Operation-Location , il cui valore è un URL univoco. Utilizzare questo URL per interrogare i risultati dell'operazione di Lettura. L'URL scade entro 48 ore.

Facoltativamente, specificare la versione del modello

Come passaggio facoltativo, vedere Determinare come elaborare i dati. Ad esempio, per specificare in modo esplicito il modello ga più recente, usare model-version=2022-04-30 come parametro . Ignorando il parametro o usando model-version=latest, viene automaticamente usato il modello GA più 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'}"

Ottieni i risultati di lettura

  1. Copiare il comando seguente nell'editor di testo.

  2. Sostituire l'URL con il Operation-Location valore copiato nella procedura precedente.

  3. Sostituire il valore di <key> con la tua chiave.

  4. Aprire una finestra della console.

  5. Incollare il comando dall'editor di testo nella finestra della console e quindi eseguire il 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}" 
    

Esaminare la risposta

In JSON viene restituita una risposta con esito positivo. L'applicazione di esempio analizza e visualizza una risposta corretta nella finestra della console, simile all'esempio seguente:

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

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggi successivi

In questa guida introduttiva si è appreso come chiamare l'API REST di lettura. Successivamente, scopri di più sulle funzionalità dell'API di lettura.