De Read-API aanroepen

In deze handleiding leert u hoe u de Read-API aanroept om tekst uit afbeeldingen te extraheren. U leert de verschillende manieren waarop u het gedrag van deze API kunt configureren om aan uw behoeften te voldoen.

In deze handleiding wordt ervan uitgenomen dat u al een Computer Vision resource hebt gemaakt om Computer Vision resource te maken en een abonnementssleutel en eindpunt-URL hebt verkregen. Als u dat nog niet hebt doen, volgt u een quickstart om aan de slag te gaan.

Bepalen hoe de gegevens moeten worden verwerkt (optioneel)

Het OCR-model opgeven

De service maakt standaard gebruik van het meest recente MODEL om tekst te extraheren. Vanaf Read 3.2 kunt u met een parameter kiezen tussen de GA- en model-version preview-modellen voor een bepaalde API-versie. Het model dat u opgeeft, wordt gebruikt om tekst te extraheren met de bewerking Lezen.

Wanneer u de bewerking Lezen gebruikt, gebruikt u de volgende waarden voor de optionele model-version parameter.

Waarde Model gebruikt
Niet opgegeven meest recente GA-model en -talen
meest recente meest recente GA-model en -talen
2021-09-30-preview Preview-model met de aanvullende preview-talen en -functies. Bevat eventuele verbeteringen van het vorige GA-model.
2021-04-12 datumspecifieke GA, momenteel hetzelfde als de meest recente

Invoertaal

Standaard extraheert de service alle tekst uit uw afbeeldingen of documenten, inclusief gemengde talen. De bewerking Lezen heeft een optionele aanvraagparameter voor taal. Geef alleen een taalcode op als u wilt forcen dat het document wordt verwerkt als die specifieke taal. Anders kan de service onvolledige en onjuiste tekst retourneren.

Uitvoer van natuurlijke leesorde (alleen Latijnse talen)

Standaard worden de tekstregels door de service uitgevoerd in de volgorde van links naar rechts. Gebruik eventueel met de aanvraagparameter voor een meer readingOrder natural human-friendly leesvolgorde-uitvoer, zoals wordt weergegeven in het volgende voorbeeld. Deze functie wordt alleen ondersteund voor Latijnse talen.

Voorbeeld van ocr-leesorder

Pagina('s) of paginabereiken selecteren voor tekstextractie

Standaard extraheert de service tekst uit alle pagina's in de documenten. U kunt eventueel de aanvraagparameter gebruiken om paginanummers of paginabereiken op te geven om pages alleen tekst van die pagina's te extraheren. In het volgende voorbeeld ziet u een document met 10 pagina's, met tekst geëxtraheerd voor beide gevallen: alle pagina's (1-10) en geselecteerde pagina's (3-6).

Uitvoer van geselecteerde pagina's

Gegevens verzenden naar de service

U kunt een lokale afbeelding of een externe afbeelding verzenden naar de Read-API. Voor lokaal gebruikt u de binaire afbeeldingsgegevens in de HTTP-aanvraag body. Voor extern geeft u de URL van de afbeelding op door de aanvraag body als volgt op te maken: {"url":"http://example.com/images/test.jpg"} .

De read-API-aanroep gebruikt een afbeelding of PDF-document als invoer en extraheert tekst asynchroon.

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

De aanroep retourneert met een antwoordheaderveld met de naam Operation-Location . De Operation-Location waarde is een URL die de bewerkings-id bevat die in de volgende stap moet worden gebruikt.

Antwoordheader Voorbeeldwaarde
Operation-Location https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Notitie

Facturering

De Computer Vision bevat de prijscategorie voor Lezen. Elke geanalyseerde afbeelding of pagina is één transactie. Als u de bewerking aanroept met een PDF- of TIFF-document met 100 pagina's, telt de leesbewerking deze als 100 transacties en wordt u gefactureerd voor 100 transacties. Als u 50 aanroepen naar de bewerking hebt gedaan en elke aanroep een document met 100 pagina's heeft ingediend, wordt u gefactureerd voor 50 x 100 = 5000 transacties.

Resultaten van de service krijgen

De tweede stap is het aanroepen van de bewerking Resultaten lezen. Deze bewerking neemt als invoer de bewerkings-id die is gemaakt door de bewerking Lezen.

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

Het retourneert een JSON-antwoord dat een statusveld met de volgende mogelijke waarden bevat.

Waarde Betekenis
notStarted De bewerking is niet gestart.
running De bewerking wordt verwerkt.
failed De bewerking is mislukt.
succeeded De bewerking is geslaagd.

U roept deze bewerking iteratief aan totdat deze wordt retourneert met de geslaagd waarde. Gebruik een interval van 1 tot 2 seconden om te voorkomen dat het aantal aanvragen per seconde (RPS) wordt overschrijdt.

Notitie

De gratis laag beperkt de aanvraagsnelheid tot 20 aanroepen per minuut. De betaalde laag staat 10 aanvragen per seconde (RPS) toe die op aanvraag kunnen worden verhoogd. Noteer uw Azure-resource en regio en open een ondersteuning voor Azure-ticket of neem contact op met uw accountteam om een hogere aanvraag per seconde (RPS) aan te vragen.

Wanneer het statusveld de waarde succeeded heeft, bevat het JSON-antwoord de geëxtraheerde tekstinhoud uit uw afbeelding of document. Het JSON-antwoord onderhoudt de oorspronkelijke regelgroeperingen van herkende woorden. Het bevat de geëxtraheerde tekstregels en de coördinaten van het begrensingsvak. Elke tekstregel bevat alle geëxtraheerde woorden met hun coördinaten en betrouwbaarheidsscores.

Notitie

De gegevens die naar de bewerking worden verzonden, worden tijdelijk versleuteld en gedurende korte tijd in rust opgeslagen Read en vervolgens verwijderd. Hierdoor kunnen uw toepassingen de geëxtraheerde tekst ophalen als onderdeel van het service-antwoord.

Voorbeeld van JSON-uitvoer

Zie het volgende voorbeeld van een geslaagd JSON-antwoord:

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

Handgeschreven classificatie voor tekstregels (alleen Latijnse talen)

Het antwoord omvat het classificeren of elke tekstregel een handschriftstijl heeft, samen met een betrouwbaarheidsscore. Deze functie wordt alleen ondersteund voor Latijnse talen. In het volgende voorbeeld ziet u de handgeschreven classificatie voor de tekst in de afbeelding.

Voorbeeld van ocr-handschriftclassificatie

Volgende stappen