Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Localisation d'éléments sur une page de document
Les opérations Amazon Textract renvoient l'emplacement et la géométrie des éléments trouvés sur une page de document. DetectDocumentTextet GetDocumentTextDetectionrenvoient l'emplacement et la géométrie des lignes et des mots, tandis que l'emplacement AnalyzeDocumentet GetDocumentAnalysisla géométrie des paires clé-valeur, des tableaux, des cellules et des éléments de sélection sont renvoyés.
Pour déterminer où se trouve un article sur une page de document, utilisez les informations du cadre de délimitation (géométrie) renvoyées par l'opération Amazon Textract dans un objet Block. L'Geometryobjet contient deux types d'informations de localisation et de géométrie pour les éléments détectés :
-
BoundingBoxObjet aligné sur l'axe qui contient les coordonnées en haut à gauche ainsi que la largeur et la hauteur de l'élément.
-
Objet polygonal qui décrit le contour de l'élément, spécifié sous la forme d'un tableau d'objets Point contenant les coordonnées
X(axe horizontal) etY(axe vertical) des pages de document de chaque point.
Le JSON d'un Block objet ressemble à ce qui suit. Notez les Polygon champs BoundingBox et.
{ "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" },
Vous pouvez utiliser les informations de géométrie pour tracer des cadres autour des objets détectés. Pour un exemple qui utilise des BoundingBox Polygon informations pour dessiner des cases autour de lignes et de lignes verticales au début et à la fin de chaque mot, voirDétecter le texte d'un document avec Amazon Textract. L'exemple de sortie est similaire au suivant.
Cadre de délimitation
Un cadre de délimitation (BoundingBox) possède les propriétés suivantes :
-
Hauteur : hauteur du cadre de délimitation sous forme de ratio par rapport à la hauteur totale de la page du document.
-
Gauche : coordonnée X du point supérieur gauche du cadre de délimitation sous forme de ratio par rapport à la largeur totale de la page du document.
-
Haut : coordonnée Y du point supérieur gauche du cadre de délimitation sous forme de ratio par rapport à la hauteur globale de la page du document.
-
Largeur : largeur du cadre de délimitation sous forme de rapport à la largeur totale de la page du document.
Chaque BoundingBox propriété possède une valeur comprise entre 0 et 1. La valeur est un rapport entre la largeur globale de l'image (s'applique à Left etWidth) ou la hauteur (s'applique à Height etTop). Par exemple, si l'image d'entrée mesure 700 x 200 pixels et que les coordonnées en haut à gauche du cadre de délimitation sont (350,50) pixels, l'API renvoie une Left valeur de 0,5 (350/700) et une Top valeur de 0,25 (). 50/200
Le schéma suivant montre l'étendue d'une page de document couverte par chaque BoundingBox propriété.
Pour afficher le cadre de sélection à l'emplacement et à la taille corrects, multipliez les BoundingBox valeurs par la largeur ou la hauteur de page du document (en fonction de la valeur souhaitée) pour obtenir les valeurs en pixels. Vous utilisez les valeurs en pixels pour afficher le cadre de délimitation. Par exemple, utilisez une page de document de 608 pixels de largeur x 588 pixels de hauteur et les valeurs de cadre de délimitation suivantes pour le texte analysé :
BoundingBox.Left: 0.3922065 BoundingBox.Top: 0.15567766 BoundingBox.Width: 0.284666 BoundingBox.Height: 0.2930403
L'emplacement du cadre de délimitation du texte en pixels est calculé comme suit :
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
Vous utilisez ces valeurs pour afficher un cadre autour du texte analysé. Les exemples Java et Python suivants montrent comment afficher un cadre de sélection.
Polygone
Le polygone renvoyé par AnalyzeDocument est un tableau d'objets Point. Chacune Point possède des coordonnées X et Y correspondant à un emplacement spécifique sur la page du document. Tout comme les BoundingBox coordonnées, les coordonnées du polygone sont normalisées en fonction de la largeur et de la hauteur du document et sont comprises entre 0 et 1.
Vous pouvez utiliser les points du réseau de polygones pour afficher un cadre de délimitation à grain fin autour d'un objet. Block Vous calculez la position de chaque point du polygone sur la page du document en utilisant la même technique que celle utilisée pourBoundingBoxes. Multipliez la coordonnée X par la largeur de page du document et multipliez la coordonnée Y par la hauteur de page du document.
L'exemple suivant montre comment afficher les lignes verticales d'un polygone.
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)); }
Angle de rotation
La dernière partie de l'objet Geometry est l'angle de rotation du texte. L'angle de rotation est un nombre compris entre 0 et 360 qui représente le degré de rotation du texte.