Anropa AZURE AI Vision 3.2 GA Read API

Den här guiden visar hur du anropar v3.2 GA Read API för att extrahera text från bilder. Du får lära dig de olika sätt som du kan konfigurera beteendet för det här API:et för att uppfylla dina behov. Den här guiden förutsätter att du redan har skapat en Vision-resurs och fått en nyckel och en slutpunkts-URL. Om du inte har gjort det följer du en snabbstart för att komma igång.

OCR-utgåvor (läsversioner)

Viktigt!

Välj den Läs-utgåva som passar dina behov bäst.

Indata Exempel Läs utgåva Förmån
Bilder: Allmänna, vilda bilder etiketter, gatuskyltar och affischer OCR för avbildningar (version 4.0) Optimerad för allmänna bilder som inte är dokument med ett prestandaförbättrat synkront API som gör det enklare att bädda in OCR i dina användarupplevelsescenarier.
Dokument: Digital och skannad, inklusive bilder böcker, artiklar och rapporter Läsmodell för dokumentinformation Optimerad för textintensiva genomsökta och digitala dokument med ett asynkront API för att automatisera intelligent dokumentbearbetning i stor skala.

Om Azure AI Vision v3.2 GA Read

Letar du efter den senaste ga-läsningen i Azure AI Vision v3.2? Alla framtida förbättringar av läs-OCR är en del av de två tjänster som listades tidigare. Det finns inga ytterligare uppdateringar av Azure AI Vision v3.2. Mer information finns i Anropa Azure AI Vision 3.2 GA Read API och Snabbstart: Azure AI Vision v3.2 GA Read.

Indatakrav

Read API-anropet tar bilder och dokument som indata. De har följande krav:

  • Filformat som stöds: JPEG, PNG, BMP, PDF och TIFF
  • För PDF- och TIFF-filer behandlas upp till 2 000 sidor (endast de två första sidorna för den kostnadsfria nivån).
  • Filstorleken för bilder måste vara mindre än 500 MB (4 MB för den kostnadsfria nivån) och dimensioner minst 50 x 50 bildpunkter och högst 10 000 x 10 000 bildpunkter. PDF-filer har ingen storleksgräns.
  • Den minsta höjden på den text som ska extraheras är 12 pixlar för en 1024 x 768 bild. Detta motsvarar cirka 8 teckenpunktstext vid 150 DPI.

Kommentar

Du behöver inte beskära en bild för textrader. Skicka hela avbildningen till Läs API så känner den igen alla texter.

Bestämma hur data ska bearbetas (valfritt)

Ange OCR-modellen

Som standard använder tjänsten den senaste allmänt tillgängliga modellen (GA) för att extrahera text. Från och med Läs 3.2 kan en model-version parameter välja mellan GA- och förhandsversionsmodellerna för en viss API-version. Den modell som du anger används för att extrahera text med åtgärden Läs.

När du använder åtgärden Läs använder du följande värden för den valfria model-version parametern.

Värde Modell som används
Inte angivet Senaste GA-modellen
senaste Senaste GA-modellen
2022-04-30 Senaste GA-modellen. 164 språk för utskriftstext och 9 språk för handskriven text tillsammans med flera förbättringar av kvalitet och prestanda
Förhandsversion 2022-01-30 Förhandsversionsmodellen lägger till stöd för utskriftstext för hindi, arabiska och relaterade språk. För handskriven text lägger du till stöd för japanska och koreanska.
Förhandsversion 2021-09-30 Förhandsgranskningsmodellen lägger till stöd för utskriftstext för ryska och andra kyrilliska språk. För handskriven text ger stöd för förenklad kinesiska, franska, tyska, italienska, portugisiska och spanska.
2021-04-12 2021 GA-modell

Indataspråk

Som standard extraherar tjänsten all text från dina bilder eller dokument, inklusive blandade språk. Åtgärden Läs har en valfri frågeparameter för språk. Ange endast en språkkod om du vill tvinga dokumentet att bearbetas som det specifika språket. Annars kan tjänsten returnera ofullständig och felaktig text.

Utdata från naturlig läsordning (endast latinska språk)

Som standard matar tjänsten ut textraderna i vänster till höger-ordning. Du kan också använda natural med parametern readingOrder request för ett mer människovänligt läsordningsutdata som visas i följande exempel. Den här funktionen stöds endast för latinska språk.

OCR Reading order example

Välj sidor eller sidintervall för textextrahering

Som standard extraherar tjänsten text från alla sidor i dokumenten. Du kan också använda parametern pages för begäran för att ange sidnummer eller sidintervall för att extrahera text från endast dessa sidor. I följande exempel visas ett dokument med 10 sidor, med text extraherad för båda fallen – alla sidor (1–10) och valda sidor (3–6).

Selected pages output

Skicka data till tjänsten

Du skickar antingen en lokal avbildning eller en fjärrbild till Läs-API:et. Lokalt placerar du binära avbildningsdata i HTTP-begärandetexten. För fjärranslutning anger du bildens URL genom att formatera begärandetexten så här: {"url":"http://example.com/images/test.jpg"}.

Läs-API:ets Läs-anrop tar en bild eller ett PDF-dokument som indata och extraherar text asynkront.

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

Anropet returneras med ett svarshuvudfält med namnet Operation-Location. Värdet Operation-Location är en URL som innehåller åtgärds-ID:t som ska användas i nästa steg.

Svarsrubrik Exempelvärde
Åtgärdsplats https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Kommentar

Billing

Prissidan för Azure AI Vision innehåller prisnivån för Read. Varje analyserad bild eller sida är en transaktion. Om du anropar åtgärden med ett PDF- eller TIFF-dokument som innehåller 100 sidor räknas åtgärden Read som 100 transaktioner och du debiteras för 100 transaktioner. Om du gjorde 50 anrop till åtgärden och varje anrop skickade ett dokument med 100 sidor debiteras du för 50 X 100 = 5 000 transaktioner.

Hämta resultat från tjänsten

Det andra steget är att anropa åtgärden Hämta läsresultat . Den här åtgärden tar som indata det åtgärds-ID som skapades av läsåtgärden.

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

Det returnerar ett JSON-svar som innehåller ett statusfält med följande möjliga värden.

Värde Innebörd
notStarted Åtgärden har inte startats.
running Åtgärden bearbetas.
failed Åtgärden misslyckades.
succeeded Åtgärden har slutförts.

Du anropar den här åtgärden iterativt tills den returneras med det slutförda värdet. Använd ett intervall på 1 till 2 sekunder för att undvika att överskrida RPS-frekvensen (begäranden per sekund).

Kommentar

Den kostnadsfria nivån begränsar begärandefrekvensen till 20 anrop per minut. Den betalda nivån tillåter 30 begäranden per sekund (RPS) som kan ökas vid begäran. Observera din Azure-resurs-identfier och region och öppna ett Azure-supportärende eller kontakta ditt kontoteam för att begära en högre begäran per sekund (RPS).

När statusfältet har succeeded värdet innehåller JSON-svaret det extraherade textinnehållet från bilden eller dokumentet. JSON-svaret underhåller de ursprungliga radgrupperingarna av identifierade ord. Den innehåller de extraherade textraderna och deras avgränsningsramkoordinater. Varje textrad innehåller alla extraherade ord med deras koordinater och konfidenspoäng.

Kommentar

De data som skickas till läsåtgärden krypteras tillfälligt och lagras i vila under en kort tid och tas sedan bort. På så sätt kan dina program hämta den extraherade texten som en del av tjänstsvaret.

Exempel på JSON-utdata

Se följande exempel på ett lyckat JSON-svar:

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

Handskriven klassificering för textrader (endast latinska språk)

Svaret innehåller en klassificering av om varje textrad är i handskriven stil eller inte, tillsammans med en konfidenspoäng. Den här funktionen är endast tillgänglig för latinska språk. I följande exempel visas den handskrivna klassificeringen för texten i bilden.

OCR handwriting classification example

Nästa steg