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.

Screenshot: Beispiel für OCR-Leserichtung

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.

Screenshot: Ausgabe von allen Seiten und von ausgewählten Seiten

Ü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.

Screenshot: Beispiel für OCR-Handschriftklassifizierung