Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Individuazione degli elementi in una pagina del documento
Le operazioni di Amazon Textract restituiscono la posizione e la geometria degli elementi trovati in una pagina del documento. DetectDocumentTexte GetDocumentTextDetectionrestituisce la posizione e la geometria di linee e parole, mentre GetDocumentAnalysisrestituisce la posizione AnalyzeDocumente la geometria di coppie chiave-valore, tabelle, celle ed elementi di selezione.
Per determinare dove si trova un elemento su una pagina del documento, utilizza le informazioni del bounding box (Geometry) restituite dall'operazione Amazon Textract in un oggetto Block. L'Geometryoggetto contiene due tipi di informazioni sulla posizione e sulla geometria degli elementi rilevati:
-
Un BoundingBoxoggetto allineato all'asse che contiene la coordinata in alto a sinistra e la larghezza e l'altezza dell'elemento.
-
Un oggetto poligonale che descrive il contorno dell'elemento, specificato come una matrice di oggetti Point che contengono le coordinate (asse orizzontale) e
XY(asse verticale) della pagina del documento di ciascun punto.
Il codice JSON di un Block oggetto è simile al seguente. Nota i Polygon campi BoundingBox e.
{ "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" },
È possibile utilizzare le informazioni sulla geometria per disegnare riquadri di delimitazione attorno agli elementi rilevati. Per un esempio che utilizza BoundingBox Polygon le informazioni per disegnare riquadri attorno a linee e linee verticali all'inizio e alla fine di ogni parola, vedi. Rilevamento del testo di un documento con Amazon Textract L'output di esempio è simile al seguente.
Riquadro di delimitazione
Un riquadro di delimitazione () ha le seguenti proprietà: BoundingBox
-
Altezza: l'altezza del riquadro di selezione come rapporto con l'altezza complessiva della pagina del documento.
-
Sinistra: la coordinata X del punto in alto a sinistra del riquadro di selezione come rapporto della larghezza complessiva della pagina del documento.
-
In alto: la coordinata Y del punto in alto a sinistra del riquadro di selezione come rapporto dell'altezza complessiva della pagina del documento.
-
Larghezza: la larghezza del riquadro di selezione come rapporto tra la larghezza complessiva della pagina del documento.
Ogni BoundingBox proprietà ha un valore compreso tra 0 e 1. Il valore è un rapporto tra la larghezza complessiva dell'immagine (si applica a Left andWidth) o l'altezza (si applica a Height andTop). Ad esempio, se l'immagine di input è di 700 x 200 pixel e la coordinata in alto a sinistra del riquadro di delimitazione è di (350,50) pixel, l'API restituisce un Left valore di 0,5 (350/700) e un Top valore di 0,25 (). 50/200
Il diagramma seguente mostra l'intervallo di una pagina di documento coperto da ciascuna proprietà. BoundingBox
Per visualizzare il riquadro di selezione con la posizione e le dimensioni corrette, moltiplicate BoundingBox i valori per la larghezza o l'altezza della pagina del documento (a seconda del valore desiderato) per ottenere i valori dei pixel. I valori in pixel servono a visualizzare il riquadro di delimitazione. Un esempio è l'utilizzo di una pagina di documento di 608 pixel di larghezza x 588 pixel di altezza e i seguenti valori del riquadro di delimitazione per il testo analizzato:
BoundingBox.Left: 0.3922065 BoundingBox.Top: 0.15567766 BoundingBox.Width: 0.284666 BoundingBox.Height: 0.2930403
La posizione del riquadro di selezione del testo in pixel viene calcolata come segue:
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
Utilizzate questi valori per visualizzare un riquadro di delimitazione attorno al testo analizzato. I seguenti esempi in Java e Python mostrano come visualizzare un riquadro di delimitazione.
Poligono
Il poligono restituito da AnalyzeDocument è una matrice di oggetti Point. Ciascuno Point ha una coordinata X e Y per una posizione specifica nella pagina del documento. Come le BoundingBox coordinate, le coordinate del poligono sono normalizzate alla larghezza e all'altezza del documento e sono comprese tra 0 e 1.
È possibile utilizzare i punti nell'array di poligoni per visualizzare un riquadro di delimitazione a grana più fine attorno a un oggetto. Block Si calcola la posizione di ogni punto poligonale sulla pagina del documento utilizzando la stessa tecnica utilizzata per. BoundingBoxes Moltiplicate la coordinata X per la larghezza della pagina del documento e moltiplicate la coordinata Y per l'altezza della pagina del documento.
L'esempio seguente mostra come visualizzare le linee verticali di un poligono.
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)); }
Angolo di rotazione
La parte finale dell'oggetto Geometry è l'angolo di rotazione del testo. L'angolo di rotazione è un numero compreso tra 0 e 360 che rappresenta il grado di rotazione del testo.