Condividi tramite


Chiamare l'API di lettura Per intelligenza artificiale di Azure v3.2 GA

In questa guida viene illustrato come chiamare l'API lettura GA v3.2 per estrarre testo dalle immagini. Verranno illustrati i diversi modi in cui è possibile configurare il comportamento di questa API in modo da soddisfare le proprie esigenze.

I passaggi seguenti presuppongono che sia già stata creata una risorsa Visione artificiale e ottenuta una chiave e un URL dell'endpoint. In caso contrario, vedere l'argomento di avvio rapido per iniziare.

Edizioni OCR (Lettura)

Importante

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

Input Esempi Edizione Lettura Vantaggio
Immagini: generiche, in ambienti naturali etichette, cartelli stradali e cartelloni OCR per le immagini (versione 4.0) Ottimizzato per immagini generiche non documentate con un'API sincrona a prestazioni avanzate che semplifica l'incorporamento di OCR negli scenari dell’esperienza utente.
Documenti: digitali e digitalizzato, incluse le immagini libri, articoli e report Modello di lettura di informazioni sui documenti Ottimizzato per documenti contenenti molto testo, digitalizzati e digitali con un'API asincrona per automatizzare l'elaborazione intelligente dei documenti su larga scala.

Informazioni su Lettura di Visione di Azure AI v3.2 con disponibilità generale

Si sta cercando la versione più recente di Lettura di Visione di Azure AI v3.2 con disponibilità generale? Tutti i miglioramenti futuri di Lettura OCR fanno parte dei due servizi elencati in precedenza. Non sono previsti ulteriori aggiornamenti per Visione di Azure AI v3.2. Per altre informazioni, vedere Chiamare l'API di lettura per Visione di Azure AI 3.2 con disponibilità generale e Avvio rapido: Lettura di Visione di Azure AI v3.2 con disponibilità generale.

Determinare come elaborare i dati (facoltativo)

Specificare il modello OCR

Per impostazione predefinita, il servizio usa il modello disponibile a livello generale più recente per estrarre testo. A partire da Read v3.2, un model-version parametro consente di scegliere tra i modelli ga e di anteprima per una determinata versione dell'API. Il modello specificato viene usato per estrarre testo con l'operazione di lettura.

Quando si usa l'operazione di lettura, usare i valori seguenti per il parametro facoltativo model-version.

Valore Modello usato
Non specificato Modello GA più recente
Più recente Modello GA più recente
2022-04-30 Modello GA più recente. 164 lingue per la stampa di testo e 9 lingue per il testo scritto a mano insieme a diversi miglioramenti sulla qualità e sulle prestazioni
2022-01-30 Aggiunge il supporto del testo di stampa per lingue hindi, arabe e correlate. Per il testo scritto a mano, aggiunge il supporto per giapponese e coreano.
2021-09-30 Aggiunge il supporto del testo di stampa per la lingua russa e altre lingue cirillico. Per il testo scritto a mano, aggiunge il supporto per il cinese semplificato, francese, tedesco, italiano, portoghese e spagnolo.
2021-04-12 Modello GA 2021

Lingua di input

Per impostazione predefinita, il servizio estrae tutto il testo dalle immagini o dai documenti, incluse le lingue miste. L'operazione di lettura ha un parametro di richiesta facoltativo per la lingua. Specificare un codice linguistico solo se si desidera forzare l'elaborazione del documento come tale lingua specifica. In caso contrario, il servizio potrebbe restituire testo incompleto e non corretto.

Output nell'ordine di lettura naturale (solo lingue latine)

Per impostazione predefinita, il servizio restituisce le righe di testo nell'ordine da sinistra a destra. Facoltativamente, con il parametro di richiesta readingOrder, usare natural per un output dell'ordine di lettura più descrittivo, come illustrato nell'esempio seguente. Questa funzionalità è supportata solo per le lingue latine.

Screenshot dell'esempio di ordine di lettura OCR.

Selezionare pagine o intervalli di pagine per l'estrazione di testo

Per impostazione predefinita, il servizio estrae testo da tutte le pagine dei documenti. Facoltativamente, usare il parametro di richiesta pages per specificare numeri di pagina o intervalli di pagine per estrarre testo solo da tali pagine. L'esempio seguente mostra un documento con 10 pagine, con testo estratto per entrambi i casi: Tutte le pagine (1-10) e Le pagine selezionate (3-6) .

Screenshot che mostra l'output da tutte le pagine e dalle pagine selezionate.

Inviare dati al servizio

Si invia un'immagine locale o un'immagine remota all'API di lettura. Per locale, i dati dell'immagine binaria vengono inseriti nel corpo della richiesta HTTP. Per la modalità remota, specificare l'URL dell'immagine formattando il corpo della richiesta come nell'esempio seguente.

{"url":"http://example.com/images/test.jpg"}

L'API lettura chiamata lettura accetta un'immagine o un documento PDF come input ed estrae il testo in modo asincrono.

https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]

La chiamata restituisce con un campo di intestazione di risposta denominato Operation-Location. Il Operation-Location valore è un URL che contiene l'ID operazione da usare nel passaggio successivo.

Intestazione risposta Valore di esempio
Operation-Location https://cognitiveservice/vision/v3.2/read/analyzeResults/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4

Nota

Fatturazione

La pagina dei prezzi di Visione artificiale di Azure include il piano tariffario per le operazioni di lettura. Ogni immagine o pagina analizzata è una transazione. Se si chiama l'operazione con un documento PDF o TIFF contenente 100 pagine, l'operazione di lettura verrà conteggiata come 100 transazioni e verranno fatturate 100 transazioni. Se sono state effettuate 50 chiamate all'operazione e ogni chiamata ha inviato un documento con 100 pagine, verranno fatturate 50 X 100 = 5000 transazioni.

Ottenere risultati dal servizio

Il secondo passaggio consiste nel chiamare l'operazione Get Read Result . Questa operazione accetta come input l'ID operazione creato dall'operazione di lettura.

https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}

Restituisce una risposta JSON che contiene un campo status con i valori possibili seguenti.

Valore Significato
notStarted Operazione non avviata.
running L'operazione è in fase di elaborazione.
failed Operazione non riuscita.
succeeded Operazione completata.

Questa operazione viene chiamata in modo iterativo fino a quando non viene restituita con il valore completato. Usare un intervallo da 1 a 2 secondi per evitare di superare la frequenza delle richieste al secondo (RPS).

Nota

Il livello gratuito limita la frequenza delle richieste a 20 chiamate al minuto. Il livello a pagamento consente l'aumento di 30 RPS su richiesta. Prendere nota dell'identfier e dell'area della risorsa di Azure e aprire un ticket di supporto tecnico di Azure oppure contattare il team dell'account per richiedere una tariffa RPS più elevata.

Quando lo stato campo ha il valore succeeded, la risposta JSON contiene il contenuto di testo estratto dall'immagine o dal documento. La risposta JSON mantiene i raggruppamenti di righe originali di parole riconosciute. Include le linee di testo estratte e le relative coordinate del rettangolo di selezione. Ogni riga di testo include tutte le parole estratte con le coordinate e i punteggi di attendibilità.

Nota

I dati inviati all'operazione di Lettura vengono temporaneamente crittografati e archiviati inattivi per un breve periodo di tempo e quindi eliminati. Ciò consente alle applicazioni di recuperare il testo estratto come parte della risposta del servizio.

Output JSON di esempio

Vedere l'esempio seguente di una risposta JSON riuscita:

{
  "status": "succeeded",
  "createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
  "lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 2.1243,
        "width": 502,
        "height": 252,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              58,
              42,
              314,
              59,
              311,
              123,
              56,
              121
            ],
            "text": "Tabs vs",
            "appearance": {
              "style": {
                "name": "handwriting",
                "confidence": 0.96
              }
            },
            "words": [
              {
                "boundingBox": [
                  68,
                  44,
                  225,
                  59,
                  224,
                  122,
                  66,
                  123
                ],
                "text": "Tabs",
                "confidence": 0.933
              },
              {
                "boundingBox": [
                  241,
                  61,
                  314,
                  72,
                  314,
                  123,
                  239,
                  122
                ],
                "text": "vs",
                "confidence": 0.977
              }
            ]
          }
        ]
      }
    ]
  }
}

Classificazione scritta a mano per le righe di testo (solo lingue latine)

La risposta include una classificazione per stabilire se ogni riga di testo contiene scrittura manuale o meno, insieme a un punteggio di attendibilità. Questa funzionalità è supportata solo per le lingue latine. L'esempio seguente mostra la classificazione di scrittura a mano per il testo nell'immagine.

Screenshot che mostra l'esempio di classificazione della grafia OCR.