Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menemukan Item di Halaman Dokumen
Operasi Amazon Textract mengembalikan lokasi dan geometri item yang ditemukan di halaman dokumen. DetectDocumentTextdan GetDocumentTextDetectionmengembalikan lokasi dan geometri untuk garis dan kata, sementara AnalyzeDocumentdan GetDocumentAnalysismengembalikan lokasi dan geometri pasangan nilai kunci, tabel, sel, dan elemen seleksi.
Untuk menentukan di mana item berada di halaman dokumen, gunakan informasi kotak pembatas (Geometri) yang dikembalikan oleh operasi Amazon Textract di objek Blokir. GeometryObjek berisi dua jenis lokasi dan informasi geometris untuk item yang terdeteksi:
-
BoundingBoxObjek sejajar sumbu yang berisi koordinat kiri atas dan lebar serta tinggi item.
-
Objek poligon yang menggambarkan garis besar item, ditentukan sebagai larik objek Titik yang berisi koordinat halaman dokumen
X(sumbu horizontal) danY(sumbu vertikal) dari setiap titik.
JSON untuk Block objek terlihat mirip dengan yang berikut ini. Perhatikan BoundingBox dan Polygon 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 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. Output contoh mirip dengan yang berikut ini.
Kotak Bounding
Sebuah bounding box (BoundingBox) memiliki properti sebagai 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 berukuran 700 x 200 piksel, dan koordinat kiri atas kotak pembatas adalah (350,50) piksel, API mengembalikan nilai 0,5 (350/700) dan Left nilai 0,25 (). Top 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 atau tinggi halaman dokumen (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 antara 0 dan 1.
Anda dapat menggunakan titik dalam array poligon untuk menampilkan kotak pembatas butir 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 bagaimana 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 Geometri adalah sudut rotasi teks. Sudut rotasi adalah angka antara 0 dan 360 yang mengubah derajat teks diputar.