Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Artikelspeicherort auf einer Dokumentseite
Amazon Textract Textract-Operationen geben den Speicherort und die Geometrie der Elemente zurück, die auf einer Dokumentseite gefunden wurden.DetectDocumentTextundGetDocumentTextDetectiongeben Sie die Position und Geometrie für Linien und Wörter zurück, währendAnalyzeDocumentundGetDocumentAnalysisGibt die Position und Geometrie von Schlüssel-Wert-Paaren, Tabellen, Zellen und Selektionselementen zurück.
Um zu ermitteln, wo sich ein Element auf einer Dokumentseite befindet, verwenden Sie den Begrenzungsrahmen (Geometry) Informationen, die von der Amazon Textract Textract-Operation in einemBlock-Objekt. DieGeometry
Das -Objekt enthält zwei Arten von Standorten und geometrischen Informationen für erkannte Elemente:
-
Eine Achse ausgerichtetBoundingBoxDas -Objekt, das die linke obere Koordinate sowie die Breite und Höhe des Elements enthält.
-
Ein Polygonobjekt, das den Umriss des Elements beschreibt, angegeben als Array vonPointObjekte, die enthalten
X
(horizontale Achse) undY
(vertikale Achse) Dokumentseitenkoordinaten jedes Punktes.
Der JSON für einenBlock
Das -Objekt sieht folgendermaßen aus. Beachten Sie dasBoundingBox
undPolygon
unterscheiden sich nicht.
{ "Geometry": { "BoundingBox": { "Width": 0.053907789289951324, "Top": 0.08913730084896088, "Left": 0.11085548996925354, "Height": 0.013171200640499592 }, "Polygon": [ { "Y": 0.08985357731580734, "X": 0.11085548996925354 }, { "Y": 0.08913730084896088, "X": 0.16447919607162476 }, { "Y": 0.10159222036600113, "X": 0.16476328670978546 }, { "Y": 0.10230850428342819, "X": 0.11113958805799484 } ] }, "Text": "Name:", "TextType": "PRINTED", "BlockType": "WORD", "Confidence": 99.56285858154297, "Id": "c734fca6-c4c4-415c-b6c1-30f7510b72ee" },
Sie können Geometrieinformationen verwenden, um Begrenzungsrahmen um erkannte Elemente zu zeichnen. Für ein Beispiel, dasBoundingBox
undPolygon
Informationen zum Zeichnen von Feldern um Linien und vertikale Linien am Anfang und Ende jedes Wortes finden Sie unterErkennen von Dokumenttext mit Amazon Textractaus. Die Beispielausgabe ähnelt der folgenden.
Bounding Box
Ein Begrenzungsrahmen (BoundingBox
) hat folgende Eigenschaften:
-
Höhe — Die Höhe des Begrenzungsrahmens als Verhältnis der Gesamtseitenhöhe des Dokuments.
-
Links — Die X-Koordinate des oberen linken Punktes des Begrenzungsrahmens als Verhältnis der Gesamtseitenbreite des Dokuments.
-
Oben — Die Y-Koordinate des oberen linken Punktes des Begrenzungsrahmens als Verhältnis der Gesamtseitenhöhe des Dokuments.
-
Breite — Die Breite des Begrenzungsrahmens als Verhältnis der Gesamtseitenbreite des Dokuments.
Jede BoundingBox-Eigenschaft hat einen Wert zwischen 0 und 1. Der Wert ist ein Verhältnis der gesamten Bildbreite (gilt fürLeft
undWidth
) oder Höhe (gilt fürHeight
undTop
) enthalten. Beispiel: Bei einem Eingangsbild mit 700 x 200 Pixeln und einer linken oberen Koordinate des Begrenzungsrahmens (350,50) Pixeln gibt die API eineLeft
Wert von 0,5 (350/700) und aTop
Wert von 0,25 (50/200).
Das folgende Diagramm zeigt den Bereich einer Dokumentseite, die jede BoundingBox-Eigenschaft abdeckt.
Um den Begrenzungsrahmen mit der richtigen Position und Größe anzuzeigen, müssen Sie die BoundingBox-Werte mit der Breite oder Höhe der Dokumentseite (abhängig vom gewünschten Wert) multiplizieren, um die Pixelwerte zu erhalten. Sie verwenden die Pixelwerte, um den Begrenzungsrahmen anzuzeigen. Ein Beispiel ist die Verwendung einer Dokumentseite mit 608 Pixel Breite x 588 Pixel Höhe und die folgenden Begrenzungsrahmenwerte für analysierten Text:
BoundingBox.Left: 0.3922065 BoundingBox.Top: 0.15567766 BoundingBox.Width: 0.284666 BoundingBox.Height: 0.2930403
Die Position des Text-Begrenzungsrahmens in Pixeln wird wie folgt berechnet:
Left coordinate = BoundingBox.Left (0.3922065) * document page width (608) =
238
Top coordinate = BoundingBox.Top (0.15567766) * document page height (588) =
91
Bounding box width = BoundingBox.Width (0.284666) * document page width
(608) = 173
Bounding box height = BoundingBox.Height (0.2930403) * document page height
(588) = 172
Mit diesen Werten können Sie einen Begrenzungsrahmen um den analysierten Text herum anzeigen. Die folgenden Beispiele für Java und Python zeigen, wie ein Begrenzungsrahmen angezeigt wird.
Polygon
Das Polygon wurde zurückgegeben vonAnalyzeDocument
ist eine Reihe vonPointObjekte. EACHPoint
hat eine X- und Y-Koordinate für einen bestimmten Speicherort auf der Dokumentseite. Wie die BoundingBox-Koordinaten werden die Polygonkoordinaten auf die Breite und Höhe des Dokuments normalisiert und liegen zwischen 0 und 1.
Sie können Punkte im Polygon-Array verwenden, um einen feinkörnigen Begrenzungsrahmen um einBlock
-Objekt. Sie berechnen die Position jedes Polygonpunkts auf der Dokumentseite mit der gleichen Technik, die fürBoundingBoxes
aus. Multiplizieren Sie die X-Koordinate mit der Seitenbreite des Dokuments und multiplizieren Sie die Y-Koordinate mit der Seitenhöhe des Dokuments.
Das folgende Beispiel zeigt, wie die vertikalen Linien eines Polygons angezeigt werden.
public void ShowPolygonVerticals(int imageHeight, int imageWidth, List <Point> points, Graphics2D g2d) { g2d.setColor(new Color(0, 212, 0)); Object[] parry = points.toArray(); g2d.setStroke(new BasicStroke(2)); g2d.drawLine(Math.round(((Point) parry[0]).getX() * imageWidth), Math.round(((Point) parry[0]).getY() * imageHeight), Math.round(((Point) parry[3]).getX() * imageWidth), Math.round(((Point) parry[3]).getY() * imageHeight)); g2d.setColor(new Color(255, 0, 0)); g2d.drawLine(Math.round(((Point) parry[1]).getX() * imageWidth), Math.round(((Point) parry[1]).getY() * imageHeight), Math.round(((Point) parry[2]).getX() * imageWidth), Math.round(((Point) parry[2]).getY() * imageHeight)); }