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.
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).
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.
Volgende stappen
- Ga aan de slag met de snelstart voor OCR (Lezen) REST API of clientbibliotheek.
- Meer informatie over de Read 3.2-REST API.