Aufrufen der allgemein verfügbaren Azure KI Vision v3.2-Lese-API
Diese Anleitung demonstriert, wie Sie die allgemein verfügbare Lese-API für Version 3.2 zum Extrahieren von Text aus Bildern aufrufen. Sie erfahren mehr über die verschiedenen Möglichkeiten für die Konfiguration dieser API entsprechend Ihren Anforderungen.
In den folgenden Schritten wird davon ausgegangen, dass Sie bereits eine Ressource für maschinelles Sehen erstellt und einen Schlüssel sowie eine Endpunkt-URL erhalten haben. Falls nicht, sehen Sie sich diese Schnellstartanleitung für die ersten Schritte an.
OCR-Editionen (Read)
Wichtig
Wählen Sie die Read-Edition aus, die Ihren Anforderungen am besten entspricht.
Eingabe | Beispiele | Read-Edition | Vorteil |
---|---|---|---|
Images: Allgemein, In-the-Wild-Images | Beschriftungen, Straßenschilder und Poster | OCR für Bilder (Version 4.0) | Optimiert für allgemeine Bilder, die keine Dokumente sind, mit einer leistungsstärkeren synchronen API, die die Einbettung von OCR in Ihre Benutzerszenarien erleichtert. |
Dokumente: Digital und gescannt, einschließlich Images | Bücher, Artikel und Berichte | Lesemodell für Document Intelligence | Optimiert für gescannte und digitale Dokumente mit einer asynchronen API, um die intelligente Dokumentverarbeitung im großen Stil zu automatisieren. |
Info zu Azure KI Vision v3.2 GA Read
Suchen Sie nach der neuesten Azure KI Vision v3.2 GA Read? Alle zukünftigen Read OCR-Erweiterungen sind Teil der beiden zuvor aufgeführten Dienste. Für Azure KI Vision 3.2 wird es keine weiteren Updates geben. Weitere Informationen finden Sie unter Aufrufen der Azure KI Vision 3.2-Lese-API (GA) und Schnellstart: Azure KI Vision v3.2 GA Read.
Festlegen der Art der Datenverarbeitung (optional)
Angeben des OCR-Modells
Standardmäßig verwendet der Dienst das neueste GA-Modell (General Availability, allgemeine Verfügbarkeit), um Text zu extrahieren. Ab Lese-API v3.2 ermöglicht der Parameter model-version
die Auswahl zwischen dem GA-Modell und Vorschaumodellen für eine bestimmte API-Version. Das von Ihnen angegebene Modell wird verwendet, um Text über den Lesevorgang zu extrahieren.
Wenn Sie den Read-Vorgang einsetzen, verwenden Sie die folgenden Werte für den optionalen Parameter model-version
.
Wert | Verwendetes Modell |
---|---|
Nicht bereitgestellt | Neuestes GA-Modell |
Neueste | Neuestes GA-Modell |
2022-04-30 | Neuestes GA-Modell. 164 Sprachen für Drucktext und 9 Sprachen für handschriftlichen Text sowie mehrere Verbesserungen bei Qualität und Leistung |
2022-01-30 | Fügt Unterstützung zum Drucken von Text für Hindi, Arabisch und verwandte Sprachen hinzu. Bei handschriftlichem Text wird Unterstützung für Japanisch und Koreanisch hinzugefügt. |
2021-09-30 | Fügt Unterstützung zum Drucken von Text für russische und andere kyrillische Sprachen hinzu. Für handschriftlichen Text wird Unterstützung für Chinesisch (vereinfacht), Französisch, Deutsch, Italienisch, Portugiesisch und Spanisch hinzugefügt. |
2021-04-12 | GA-Modell 2021 |
Eingabesprache
Standardmäßig extrahiert der Dienst sämtlichen Text aus Ihren Bildern oder Dokumenten, einschließlich gemischter Sprachen. Der Read-Vorgang weist einen optionalen Anforderungsparameter für die Sprache auf. Geben Sie nur dann einen Sprachcode an, wenn Sie erzwingen möchten, dass das Dokument in dieser spezifischen Sprache verarbeitet wird. Andernfalls gibt der Dienst möglicherweise unvollständigen und fehlerhaften Text zurück.
Ausgabe der natürlichen Leserichtung (nur lateinische Sprachen)
Standardmäßig gibt der Dienst die Textzeilen von links nach rechts aus. Optional können Sie über den Anforderungsparameter readingOrder
mithilfe der Option natural
eine benutzerfreundlichere Ausgabe der Lesereihenfolge festlegen, wie im folgenden Beispiel gezeigt. Dieses Feature wird nur für lateinische Sprachen unterstützt.
Auswählen von Seiten oder Seitenbereichen für die Textextraktion
Standardmäßig extrahiert der Dienst Text von allen Seiten in den Dokumenten. Verwenden Sie optional den Anforderungsparameter pages
zur Angabe von Seitenzahlen oder Seitenbereichen, um Text nur von diesen Seiten zu extrahieren. Das folgende Beispiel zeigt ein Dokument mit 10 Seiten, wobei für beide Fälle – Alle Seiten (1-10) und Ausgewählte Seiten (3-6) – Text extrahiert wurde.
Übermitteln von Daten an den Dienst
Sie übermitteln entweder ein lokales Bild oder ein Remotebild an die Lese-API. Bei einem lokalen Bild platzieren Sie die binären Bilddaten im HTTP-Anforderungstext. Bei einem Remotebild geben Sie die URL des Bilds an, indem Sie den Anforderungstext wie im folgenden Beispiel formatieren.
{"url":"http://example.com/images/test.jpg"}
Beim Read-Aufruf der Read-API wird ein Bild oder PDF-Dokument als Eingabe erfasst und asynchron Text extrahiert.
https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]
Der Aufruf wird mit einem Antwortheaderfeld namens Operation-Location
zurückgegeben. Der Operation-Location
-Wert ist eine URL, die die Vorgangs-ID enthält, die im nächsten Schritt verwendet werden soll.
Antwortheader | Beispielwert |
---|---|
Operation-Location | https://cognitiveservice/vision/v3.2/read/analyzeResults/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4 |
Hinweis
Abrechnung
Auf der Seite Azure KI Vision – Preise finden Sie den Tarif für Lesevorgänge. Jedes analysierte Bild oder jede analysierte Seite ist eine Transaktion. Wenn Sie den Vorgang mit einem PDF- oder TIFF-Dokument mit 100 Seiten aufrufen, wird dies vom Read-Vorgang als 100 Transaktionen gezählt und Ihnen werden 100 Transaktionen in Rechnung gestellt. Wenn Sie für den Vorgang 50 Aufrufe durchgeführt haben und jeder Aufruf ein Dokument mit 100 Seiten übermittelt hat, werden Ihnen 5000 Transaktionen (50 x 100) in Rechnung gestellt.
Abrufen von Ergebnissen aus dem Dienst
Im zweiten Schritt wird der Vorgang Get Read Results aufgerufen. Dieser Vorgang erfasst die Vorgangs-ID, die beim Read-Vorgang erstellt wurde, als Eingabe.
https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}
Er gibt eine JSON-Antwort zurück, die ein Status-Feld mit den folgenden möglichen Werten enthält.
Wert | Bedeutung |
---|---|
notStarted |
Der Vorgang wurde noch nicht gestartet. |
running |
Der Vorgang wird verarbeitet. |
failed |
Fehler beim Vorgang. |
succeeded |
Der Vorgang war erfolgreich. |
Sie rufen diesen Vorgang iterativ auf, bis er mit dem Wert succeeded (erfolgreich) zurückgegeben wird. Verwenden Sie ein Intervall von 1 bis 2 Sekunden, um zu vermeiden, dass die Rate der Anforderungen pro Sekunde (requests per second, RPS) überschritten wird.
Hinweis
Im kostenlosen Tarif wird die Anforderungsrate auf 20 Aufrufe pro Minute beschränkt. Im kostenpflichtige Tarif sind 30 RPS zulässig, die auf Anforderung erhöht werden können. Notieren Sie sich ihre Azure-Ressourcen-ID und Ihre Region, und öffnen Sie ein Azure-Supportticket, oder wenden Sie sich an Ihr Kontoteam, um eine höhere RPS-Rate anzufordern.
Wenn das Feld Status den Wert succeeded
aufweist, enthält die JSON-Antwort den extrahierten Textinhalt aus Ihrem Bild oder Dokument. In der JSON-Antwort werden die ursprünglichen Zeilengruppierungen der erkannten Wörter beibehalten. Sie enthält die extrahierten Textzeilen und die zugehörigen Begrenzungsrahmenkoordinaten. Jede Textzeile enthält alle extrahierten Wörter mit den zugehörigen Koordinaten und Zuverlässigkeitsbewertungen.
Hinweis
Die an den Vorgang Read übermittelten Daten werden vorübergehend verschlüsselt, für eine kurze Dauer im Ruhezustand gespeichert und dann gelöscht. Dadurch können Ihre Anwendungen den extrahierten Text als Teil der Dienstantwort abrufen.
JSON-Beispielausgabe
Eine erfolgreiche JSON-Antwort sieht in etwa wie folgendes Beispiel aus:
{
"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
}
]
}
]
}
]
}
}
Handschriftliche Klassifizierung für Textzeilen (nur lateinische Sprachen)
Die Antwort enthält eine Klassifizierung, ob jede Textzeile handschriftlich formatiert ist oder nicht, sowie eine Konfidenzbewertung. Dieses Feature ist nur für lateinische Sprachen verfügbar. Das folgende Beispiel zeigt die handschriftliche Klassifizierung für den Text im Bild.