Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Operasi Amazon Textract Texact mengembalikan lokasi dan geometri item yang ditemukan di halaman dokumen.DetectDocumentTextdanGetDocumentTextDetectionmengembalikan lokasi dan geometri untuk garis dan kata-kata, sementaraAnalyzeDocumentdanGetDocumentAnalysismengembalikan lokasi dan geometri pasangan kunci-nilai, tabel, sel, dan elemen seleksi.
Untuk menentukan di mana item berada di halaman dokumen, gunakan kotak pembatas (Geometry) informasi yang dikembalikan oleh operasi Amazon Textract Texact dalamBlockobjek. ParameterGeometry
objek berisi dua jenis lokasi dan informasi geometris untuk item terdeteksi:
-
Sumbu sejajarBoundingBoxobjek yang berisi koordinat kiri atas dan lebar dan tinggi item.
-
Sebuah objek poligon yang menggambarkan garis besar item, ditentukan sebagai arrayPointbenda-benda yang mengandung
X
(sumbu horizontal) danY
(sumbu vertikal) koordinat halaman dokumen setiap titik.
JSON untukBlock
terlihat seperti berikut ini. CatatanBoundingBox
danPolygon
bidang.
{ "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" },
Anda dapat menggunakan informasi geometri untuk menggambar kotak pembatas di sekitar item yang terdeteksi. Untuk contoh yang menggunakanBoundingBox
danPolygon
informasi untuk menggambar kotak di sekitar garis dan garis vertikal pada awal dan akhir setiap kata, lihatMendeteksi Teks Dokumen dengan Amazon Textract. Output contoh ini mirip dengan yang berikut ini.

Kotak Pembatas
Sebuah kotak pembatas (BoundingBox
) memiliki sifat sebagai berikut:
-
Tinggi — Tinggi kotak pembatas sebagai rasio tinggi halaman dokumen secara keseluruhan.
-
Kiri — Koordinat X titik kiri atas kotak pembatas sebagai rasio lebar halaman dokumen secara keseluruhan.
-
Atas — Koordinat Y dari titik kiri atas kotak pembatas sebagai rasio tinggi halaman dokumen secara keseluruhan.
-
Lebar — Lebar kotak pembatas sebagai rasio lebar halaman dokumen secara keseluruhan.
Setiap properti BoundingBox memiliki nilai antara 0 dan 1. Nilai adalah rasio lebar citra secara keseluruhan (berlaku untukLeft
danWidth
) atau tinggi (berlaku untukHeight
danTop
). Misalnya, jika citra input berukuran 700 x 200 piksel, dan koordinat kiri atas kotak batas adalah (350,50) piksel, maka API mengembalikan aLeft
nilai 0,5 (350/700) danTop
nilai 0,25 (50/200).
Diagram berikut menunjukkan kisaran halaman dokumen yang mencakup setiap properti BoundingBox.

Untuk menampilkan kotak pembatas dengan lokasi dan ukuran yang benar, Anda harus mengalikan nilai-nilai BoundingBox dengan lebar halaman dokumen atau tinggi (tergantung pada nilai yang Anda inginkan) untuk mendapatkan nilai-nilai piksel. Anda menggunakan nilai-nilai piksel untuk menampilkan kotak pembatas. Contohnya adalah menggunakan halaman dokumen dengan lebar 608 piksel x tinggi 588 piksel, dan nilai kotak pembatas berikut untuk teks yang dianalisis:
BoundingBox.Left: 0.3922065 BoundingBox.Top: 0.15567766 BoundingBox.Width: 0.284666 BoundingBox.Height: 0.2930403
Lokasi kotak pembatas teks dalam piksel dihitung sebagai berikut:
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
Anda menggunakan nilai-nilai ini untuk menampilkan kotak pembatas di sekitar teks yang dianalisis. Contoh Java dan Python berikut menunjukkan bagaimana menampilkan kotak pembatas.
public void ShowBoundingBox(int imageHeight, int imageWidth, BoundingBox box, Graphics2D g2d) { float left = imageWidth * box.getLeft(); float top = imageHeight * box.getTop(); // Display bounding box. g2d.setColor(new Color(0, 212, 0)); g2d.drawRect(Math.round(left / scale), Math.round(top / scale), Math.round((imageWidth * box.getWidth()) / scale), Math.round((imageHeight * box.getHeight())) / scale); }
Polygon
Poligon yang dikembalikan olehAnalyzeDocument
adalah arrayPointobjek. Masing-masingPoint
memiliki koordinat X dan Y untuk lokasi tertentu pada halaman dokumen. Seperti koordinat BoundingBox, koordinat poligon dinormalisasi dengan lebar dan tinggi dokumen, dan antara 0 dan 1.
Anda dapat menggunakan poin dalam array poligon untuk menampilkan kotak pembatas butir halus di sekitarBlock
objek. Anda menghitung posisi setiap titik poligon pada halaman dokumen dengan menggunakan teknik yang sama digunakan untukBoundingBoxes
. Kalikan koordinat X dengan lebar halaman dokumen, dan kalikan koordinat Y dengan tinggi halaman dokumen.
Contoh berikut menunjukkan cara menampilkan garis vertikal poligon.
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)); }