Memanggil API Baca GA Azure AI Vision 3.2

Panduan ini menunjukkan kepada Anda cara memanggil API Baca GA v3.2 untuk mengekstrak teks dari gambar. Anda akan mempelajari berbagai cara untuk mengonfigurasi perilaku API ini untuk memenuhi kebutuhan Anda. Panduan ini mengasumsikan Anda telah membuat sumber daya Visi dan mendapatkan URL kunci dan titik akhir. Jika belum, ikuti mulai cepat untuk memulai.

Edisi OCR (Baca)

Penting

Pilih Edisi Baca yang paling sesuai dengan kebutuhan Anda.

Input Contoh Edisi baca Keuntungan
Gambar: Gambar umum, di alam bebas label, tanda jalan, dan poster OCR untuk gambar (versi 4.0) Dioptimalkan untuk gambar umum non-dokumen dengan API sinkron yang ditingkatkan performanya yang memudahkan penyematan OCR dalam skenario pengalaman pengguna Anda.
Dokumen: Digital dan dipindai, termasuk gambar buku, artikel, dan laporan Model baca Kecerdasan Dokumen Dioptimalkan untuk dokumen teks-berat yang dipindai dan digital dengan API asinkron untuk membantu mengotomatiskan pemrosesan dokumen cerdas dalam skala besar.

Tentang Azure AI Vision v3.2 GA Read

Mencari Azure AI Vision v3.2 GA Read terbaru? Semua penyempurnaan Read OCR di masa mendatang adalah bagian dari dua layanan yang tercantum sebelumnya. Tidak ada pembaruan lebih lanjut untuk Azure AI Vision v3.2. Untuk informasi selengkapnya, lihat Memanggil AZURE AI Vision 3.2 GA Read API dan Quickstart: Azure AI Vision v3.2 GA Read.

Persyaratan input

Panggilan API Baca mengambil gambar dan dokumen sebagai inputnya. Titik akhir memiliki persyaratan berikut.

  • Format file yang didukung: JPEG, PNG, PDF, dan TIFF
  • Untuk file PDF dan TIFF, hingga 2.000 halaman (hanya dua halaman pertama untuk tingkat gratis) yang diproses.
  • Ukuran file gambar harus kurang dari 500 MB (4 MB untuk tingkat gratis) dan dimensi minimal 50 x 50 piksel dan maksimal 10.000 x 10.000 piksel. File PDF tidak memiliki batas ukuran.
  • Tinggi minimum teks yang akan diekstrak adalah 12 piksel untuk gambar 1024 x 768. Format ini sesuai dengan sekitar 8 teks titik font pada 150 DPI.

Catatan

Anda tidak perlu memotong gambar untuk baris teks. Kirim seluruh gambar ke Read API dan akan mengenali semua teks.

Menentukan cara memproses data (opsional)

Menentukan model OCR

Secara default, layanan menggunakan model terbaru yang tersedia secara umum (GA) untuk mengekstrak teks. Dimulai dengan Read 3.2, parameter model-version memungkinkan pemilihan antara GA dan model pratinjau untuk versi API tertentu. Model yang Anda tentukan akan digunakan untuk mengekstrak teks dengan operasi Baca.

Saat menggunakan operasi Baca, gunakan nilai berikut untuk parameter model-version opsional.

Nilai Model yang digunakan
Tidak disediakan Model GA terbaru
terbaru Model GA terbaru
30-04-2022 Model GA terbaru. 164 bahasa untuk teks cetak dan 9 bahasa untuk teks tulisan tangan serta beberapa peningkatan kualitas dan performa
Pratinjau 01-01-2022 Model pratinjau menambahkan dukungan teks cetak untuk bahasa Hindi, Arab, dan terkait. Untuk teks tulisan tangan, menambahkan dukungan untuk bahasa Jepang dan Korea.
Pratinjau 09-09-2021 Model pratinjau menambahkan dukungan teks cetak untuk bahasa Rusia dan bahasa Sirilik lainnya. Untuk teks tulisan tangan, menambahkan dukungan untuk Bahasa Tionghoa Sederhana, Prancis, Jerman, Italia, Portugis, dan Spanyol.
2021-04-12 Model GA 2021

Bahasa input

Secara default, layanan mengekstrak semua teks dari gambar atau dokumen Anda termasuk bahasa campuran. Operasi baca memiliki parameter permintaan opsional untuk bahasa. Hanya masukkan kode bahasa jika Anda ingin memaksa dokumen diproses sebagai bahasa khusus tersebut. Jika tidak, layanan dapat mengembalikan teks yang tidak lengkap dan salah.

Output urutan baca alami (bahasa Latin saja)

Secara default, layanan menghasilkan baris teks dalam urutan kiri ke kanan. Secara opsional, dengan parameter permintaan readingOrder, gunakan natural untuk output urutan pembacaan yang lebih ramah manusia seperti yang ditampilkan dalam contoh berikut. Fitur ini hanya didukung untuk bahasa Latin.

OCR Reading order example

Pilih halaman atau rentang halaman untuk ekstraksi teks

Secara default, layanan mengekstrak teks dari semua halaman dalam dokumen. Secara opsional, gunakan parameter permintaan pages untuk menentukan nomor halaman atau rentang halaman untuk mengekstrak teks hanya dari halaman tersebut. Contoh berikut memperlihatkan dokumen dengan 10 halaman, dengan teks yang diekstrak untuk kedua kasus - semua halaman (1-10) dan halaman yang dipilih (3-6).

Selected pages output

Kirimkan data ke layanan

Anda mengirimkan gambar lokal atau gambar jarak jauh ke Read API. Untuk lokal, Anda memasukkan data gambar biner ke dalam isi permintaan HTTP. Untuk jarak jauh, Anda menentukan URL gambar dengan memformat isi permintaan seperti berikut ini: {"url":"http://example.com/images/test.jpg"}.

Panggilan Baca API Baca mengambil gambar atau dokumen PDF sebagai input dan mengekstrak teks secara asinkron.

https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]

Panggilan kembali dengan bidang tajuk respons yang disebut Operation-Location. Nilai Operation-Location adalah URL yang berisi ID Operasi yang akan digunakan pada langkah berikutnya.

Header respons Contoh nilai
Operasi-Lokasi https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Catatan

Billing

Halaman harga Azure AI Vision menyertakan tingkat harga untuk Baca. Setiap gambar atau halaman yang dianalisis adalah satu transaksi. Jika Anda memanggil operasi dengan dokumen PDF atau TIFF yang berisi 100 halaman, operasi Baca akan menghitungnya sebagai 100 transaksi dan Anda akan ditagih untuk 100 transaksi. Jika Anda melakukan 50 panggilan ke operasi dan setiap panggilan mengirimkan dokumen dengan 100 halaman, Anda akan ditagih untuk 50 X 100 = 5000 transaksi.

Dapatkan hasil dari layanan

Langkah kedua adalah memanggil operasi Dapatkan Hasil Baca. Operasi ini mengambil sebagai input ID operasi yang dibuat oleh operasi Baca.

https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}

Operasi menghasilkan respons JSON yang berisi bidang status dengan kemungkinan nilai berikut.

Nilai Makna
notStarted Operasi belum dimulai.
running Operasi sedang diproses.
failed Operasi gagal.
succeeded Operasi berhasil.

Anda memanggil operasi ini secara berulang hingga kembali dengan nilai berhasil. Gunakan interval 1 hingga 2 detik untuk menghindari melebihi tingkat permintaan per detik (RPS).

Catatan

Tingkat gratis membatasi tarif permintaan hingga 20 panggilan per menit. Tingkat berbayar memungkinkan 30 permintaan per detik (RPS) yang dapat ditingkatkan berdasarkan permintaan. Perhatikan pengenal dan wilayah sumber daya Azure Anda, dan buka tiket dukungan Azure atau hubungi tim akun Anda untuk meminta tarif permintaan per detik (RPS) yang lebih tinggi.

Saat bidang status memiliki succeeded nilai, respons JSON berisi konten teks yang diekstrak dari gambar atau dokumen Anda. Respons JSON mempertahankan pengelompokan baris asli dari kata-kata yang dikenali. Ini termasuk baris teks yang diekstraksi dan koordinat kotak batasnya. Setiap baris teks mencakup semua kata yang diekstrak dengan koordinat dan skor kepercayaan diri mereka.

Catatan

Data yang dikirimkan ke operasi Baca untuk sementara dienkripsi dan disimpan saat tidak aktif untuk durasi singkat, lalu dihapus. Ini memungkinkan aplikasi Anda mengambil teks yang diekstrak sebagai bagian dari respons layanan.

Sampel output JSON

Lihat contoh respons JSON yang berhasil berikut ini:

{
  "status": "succeeded",
  "createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
  "lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 2.1243,
        "width": 502,
        "height": 252,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              58,
              42,
              314,
              59,
              311,
              123,
              56,
              121
            ],
            "text": "Tabs vs",
            "appearance": {
              "style": {
                "name": "handwriting",
                "confidence": 0.96
              }
            },
            "words": [
              {
                "boundingBox": [
                  68,
                  44,
                  225,
                  59,
                  224,
                  122,
                  66,
                  123
                ],
                "text": "Tabs",
                "confidence": 0.933
              },
              {
                "boundingBox": [
                  241,
                  61,
                  314,
                  72,
                  314,
                  123,
                  239,
                  122
                ],
                "text": "vs",
                "confidence": 0.977
              }
            ]
          }
        ]
      }
    ]
  }
}

Klasifikasi tulisan tangan untuk baris teks (hanya bahasa Latin)

Respons mencakup klasifikasi apakah setiap baris teks dalam gaya tulisan tangan atau tidak, bersama dengan skor keyakinan. Fitur ini hanya tersedia untuk bahasa Latin. Contoh berikut menunjukkan klasifikasi tulisan tangan untuk teks dalam gambar.

OCR handwriting classification example

Langkah berikutnya