Chiamare l'API di lettura ga di Visione artificiale di Azure 3.2

In questa guida si apprenderà come chiamare l'API di lettura ga v3.2 per estrarre testo dalle immagini. Verranno illustrati i diversi modi in cui è possibile configurare il comportamento di questa API per soddisfare le proprie esigenze. Questa guida presuppone che sia già stata creata una risorsa di Visione e ottenuta una chiave e un URL dell'endpoint. In caso contrario, seguire una guida introduttiva per iniziare.

Edizioni OCR (Read)

Importante

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

Input Esempi Leggere l'edizione Vantaggio
Immagini: immagini generali, in-the-wild 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: digitale e digitalizzato, incluse le immagini libri, articoli e report Modello di lettura di Document Intelligence Ottimizzato per documenti digitalizzati e digitali con un'API asincrona per automatizzare l'elaborazione intelligente dei documenti su larga scala.

Informazioni sulla versione 3.2 di Visione artificiale di Azure in lettura generale

Cercare la versione 3.2 di Visione artificiale di Azure più recente in lettura generale? Tutti i miglioramenti futuri di OCR di lettura fanno parte dei due servizi elencati in precedenza. Non sono disponibili altri aggiornamenti per Visione artificiale di Azure v3.2. Per altre informazioni, vedere Chiamare l'API di lettura ga di Azure AI Vision 3.2 e Avvio rapido: Visione artificiale di Azure v3.2 in lettura generale.

Requisiti di input

La chiamata Lettura accetta immagini e documenti come input. Hanno i requisiti seguenti:

  • Formati di file supportati: JPEG, PNG, BMP, PDF e TIFF
  • Per i file PDF e TIFF, vengono elaborate fino a 2000 pagine (solo le prime due pagine per il livello gratuito).
  • Le dimensioni del file delle immagini devono essere inferiori a 500 MB (4 MB per il livello gratuito) e dimensioni di almeno 50 x 50 pixel e al massimo 10000 x 10000 pixel. I file PDF non hanno un limite di dimensioni.
  • L'altezza minima del testo da estrarre è di 12 pixel per un'immagine 1024 x 768. Corrisponde a circa 8 caratteri di testo a 150 DPI.

Nota

Non è necessario ritagliare un'immagine per le righe di testo. Inviare l'intera immagine all'API Lettura e riconoscerà tutti i testi.

Determinare come elaborare i dati (facoltativo)

Specificare il modello OCR

Per impostazione predefinita, il servizio userà il modello disponibile a livello generale più recente per estrarre testo. A partire da Read 3.2, un model-version parametro consente di scegliere tra i modelli ga e di anteprima per una determinata versione dell'API. Il modello specificato verrà 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-preview Il modello di anteprima 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-preview Il modello di anteprima aggiunge il supporto del testo di stampa per il russo 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 può restituire testo incompleto e non corretto.

Output dell'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 readingOrder parametro di richiesta, usare natural per un output dell'ordine di lettura più semplice, come illustrato nell'esempio seguente. Questa funzionalità è supportata solo per le lingue latine.

OCR Reading order example

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 pages parametro di richiesta 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).

Selected pages output

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 indicato di seguito: {"url":"http://example.com/images/test.jpg"}.

La chiamata lettura dell'API 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/49a36324-fc4b-4387-aa06-090cfbf0064f

Nota

Fatturazione

La pagina dei prezzi di Visione artificiale di Azure include il piano tariffario per 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 Results . 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 di stato con i valori possibili seguenti.

Valore Significato
notStarted L'operazione non è stata avviata.
running L'operazione viene elaborata.
failed L'operazione non è riuscita.
succeeded L'operazione è stata completata.

Questa operazione viene chiamata in modo iterativo fino a quando non restituisce 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 30 richieste al secondo (RPS) che possono essere aumentate su richiesta. Prendere nota del dentfier 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 più elevata al secondo (RPS).

Quando il campo di stato ha il succeeded valore, 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 Read vengono temporaneamente crittografati e archiviati inattivi per una breve durata 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 la classificazione di ogni riga di testo dello stile di scrittura manuale o meno, insieme a un punteggio di attendibilità. Questa funzionalità è supportata solo per le lingue latine. Nell'esempio seguente viene illustrata la classificazione scritta a mano per il testo nell'immagine.

OCR handwriting classification example

Passaggi successivi

  • Introduzione alle guide introduttive all'API REST OCR (Lettura) o alla libreria client.
  • Informazioni sull'API REST read 3.2.