Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menemukan Item pada Halaman Dokumen
Operasi Amazon Textract mengembalikan lokasi dan geometri item yang ditemukan pada halaman dokumen. DetectDocumentTextdan GetDocumentTextDetection mengembalikan lokasi dan geometri untuk garis dan kata, sementara AnalyzeDocument dan GetDocumentAnalysis mengembalikan lokasi dan geometri pasangan kunci-nilai, tabel, sel, dan elemen seleksi.
Untuk menentukan di mana item berada pada halaman dokumen, gunakan informasi kotak pembatas (Geometri) yang dikembalikan oleh operasi Amazon Textract dalam objek Blo k. Ob Geometry jek berisi dua jenis lokasi dan informasi geometris untuk item yang terdeteksi:
-
Objek yang sejajar BoundingBox dengan sumbu yang berisi koordinat kiri atas dan lebar dan tinggi item.
-
Objek poligon yang menggambarkan garis besar item, ditentukan sebagai array objek Point yang berisi
X(sumbu horizontal) danY(sumbu vertikal) koordinat halaman dokumen dari setiap titik.
JSON untuk Block objek terlihat mirip dengan berikut ini. Perhatikan Polygon bidang BoundingBox dan.
{ "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 menggunakan BoundingBox dan Polygon informasi untuk menggambar kotak di sekitar garis dan garis vertikal di awal dan akhir setiap kata, lihatMendeteksi Teks Dokumen dengan Amazon Textract. Contoh output mirip dengan berikut ini.
Kotak Pembatas
Sebuah kotak pembatas (BoundingBox) memiliki properti berikut:
-
Tinggi — Tinggi kotak pembatas sebagai rasio tinggi halaman dokumen secara keseluruhan.
-
Kiri — Koordinat X dari titik kiri atas kotak pembatas sebagai rasio lebar halaman dokumen keseluruhan.
-
Atas — Koordinat Y dari titik kiri atas kotak pembatas sebagai rasio tinggi halaman dokumen keseluruhan.
-
Lebar — Lebar kotak pembatas sebagai rasio lebar halaman dokumen keseluruhan.
Setiap BoundingBox properti memiliki nilai antara 0 dan 1. Nilai adalah rasio lebar gambar keseluruhan (berlaku untuk Left danWidth) atau tinggi (berlaku untuk Height danTop). Misalnya, jika gambar input adalah 700 x 200 piksel, dan koordinat kiri atas kotak pembatas adalah (350,50) piksel, API mengembalikan Left nilai 0,5 (350/700) dan Top nilai 0,25 (). 50/200
Diagram berikut menunjukkan rentang halaman dokumen yang dicakup oleh setiap BoundingBox properti.
Untuk menampilkan kotak pembatas dengan lokasi dan ukuran yang benar, Anda mengalikan BoundingBox nilai dengan lebar halaman dokumen atau tinggi (tergantung pada nilai yang Anda inginkan) untuk mendapatkan 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 cara menampilkan kotak pembatas.
Polygon
Poligon yang dikembalikan oleh AnalyzeDocument adalah array objek Point. Masing-masing Point memiliki koordinat X dan Y untuk lokasi tertentu pada halaman dokumen. Seperti BoundingBox koordinat, koordinat poligon dinormalisasi ke lebar dan tinggi dokumen, dan berada di antara 0 dan 1.
Anda dapat menggunakan titik dalam array poligon untuk menampilkan kotak pembatas butiran halus di sekitar objek. Block Anda menghitung posisi setiap titik poligon pada halaman dokumen dengan menggunakan teknik yang sama yang 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)); }
Sudut Rotasi
Bagian terakhir dari objek Geometry adalah sudut rotasi teks. Sudut rotasi adalah angka antara 0 dan 360 yang mencerminkan derajat teks diputar.