Audience
Tujuan tutorial ini adalah untuk membantu Anda mengembangkan aplikasi menggunakan Deteksi Teks Dokumen Google Cloud Vision API. Tutorial ini mengasumsikan bahwa Anda telah memahami konstruksi dan teknik pemrograman dasar. Tetapi, meskipun Anda adalah programmer pemula, Anda seharusnya dapat mengikuti dan menjalankan tutorial ini tanpa kesulitan. Selanjutnya, Anda dapat menggunakan dokumentasi referensi Cloud Vision API untuk membuat aplikasi dasar.
Prasyarat
- Siapkan project Cloud Vision API di konsol Google Cloud.
Siapkan lingkungan Anda untuk menggunakan Kredensial Default Aplikasi.
Python
- Instal Python.
- Instal pip.
- Instal Library Klien Google Cloud dan Phyton Imaging Library.
Membuat anotasi gambar menggunakan OCR Teks Dokumen
Tutorial ini membahas aplikasi Vision API dasar yang membuat
permintaan DOCUMENT_TEXT_DETECTION
, lalu memproses respons
fullTextAnnotation
.
fullTextAnnotation
adalah respons hierarki terstruktur untuk teks UTF-8
yang diekstrak dari gambar dan disusun menjadi
Pages→Blocks→Paragraphs→Words→Symbols:
Page
adalah kumpulan blok, dengan tambahan informasi meta tentang halaman: ukuran dan resolusi (resolusi X dan resolusi Y dapat berbeda).Block
mewakili satu elemen logis dari halaman tersebut—misalnya. area yang tertutup teks, gambar, atau pemisah antar kolom. Blok teks dan tabel berisi informasi utama yang diperlukan untuk mengekstrak teks.Paragraph
adalah unit struktural teks yang mewakili rangkaian kata yang teratur. Secara default, kata-kata dianggap dipisahkan oleh jeda kata.Word
adalah unit terkecil dari teks. Kata direpresentasikan sebagai array Symbols.Symbol
mewakili karakter atau tanda baca.
fullTextAnnotation
juga dapat memberikan URL ke gambar Web yang sebagian atau
sepenuhnya cocok dengan gambar dalam permintaan.
Melengkapi daftar kode
Saat membaca kode, sebaiknya Anda mengikuti dengan melihat referensi Python Cloud Vision API Python.
Aplikasi sederhana ini melakukan tugas-tugas berikut:
- Mengimpor library yang diperlukan untuk menjalankan aplikasi
- Mengambil tiga argumen untuk meneruskannya ke fungsi
main()
:image_file
— file gambar input yang akan dianotasioutput_file
—nama file output yang akan digunakan Cloud Vision untuk menghasilkan gambar output dengan polybox yang digambar
- Membuat instance
ImageAnnotatorClient
untuk berinteraksi dengan layanan - Mengirim permintaan dan menampilkan respons
- Membuat gambar output dengan kotak yang digambar di sekitar teks
Mempelajari kode lebih lanjut
Mengimpor library
Kami mengimpor library standar:
argparse
untuk mengizinkan aplikasi menerima nama file input sebagai argumenenum
untuk enumerasiFeatureType
io
untuk File I/O
Impor lainnya:
- Class
ImageAnnotatorClient
dalam librarygoogle.cloud.vision
untuk mengakses Vision API. - Modul
types
dalam librarygoogle.cloud.vision
untuk membuat permintaan. - Library
Image
danImageDraw
dari libraryPIL
digunakan untuk membuat gambar output dengan kotak yang digambar pada gambar input.
Menjalankan aplikasi
Di sini, kita cukup mengurai argumen yang diteruskan, kemudian meneruskannya ke
fungsi render_doc_text()
.
Mengautentikasi ke API
Sebelum berkomunikasi dengan layanan Vision API, Anda harus
mengautentikasi layanan Anda menggunakan kredensial yang diperoleh sebelumnya. Dalam
aplikasi, cara termudah untuk mendapatkan kredensial adalah dengan menggunakan
Kredensial Default Aplikasi
(ADC). Secara default, library klien Cloud akan mencoba
mendapatkan kredensial dari variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
,
yang harus ditetapkan agar mengarah ke file kunci JSON
akun layanan Anda
(lihat Setting Up a Service Account
for more information).
Membuat permintaan API dan membaca batas teks dari respons
Setelah layanan Vision API kami sudah siap, kita dapat mengakses layanan
dengan memanggil metode document_text_detection
dari instance
ImageAnnotatorClient
.
Library klien melakukan enkapsulasi detail permintaan dan respons ke API. Lihat Reference Vision API untuk mengetahui informasi lengkap tentang struktur permintaan.
Setelah library klien menangani permintaan, respons kami akan berisi AnnotateImageResponse yang terdiri dari daftar hasil Anotasi Gambar, satu untuk setiap gambar yang dikirim dalam permintaan. Karena hanya mengirim satu gambar dalam permintaan, kita akan menelusuri full TextAnnotation, dan mengumpulkan batas untuk fitur dokumen yang ditentukan.
Menjalankan aplikasi
Untuk menjalankan aplikasi, Anda dapat
mendownload file receipt.jpg
ini
(Anda mungkin perlu mengklik kanan link),
lalu meneruskan lokasi tempat Anda mendownload di komputer lokal Anda
ke aplikasi tutorial (doctext.py
).
Berikut adalah perintah Python, diikuti dengan gambar output Anotasi Teks.
$ python doctext.py receipt.jpg -out_file out.jpg
Gambar berikut menampilkan kata dalam kotak kuning dan kalimat dalam kotak merah.
Selamat! Anda telah melakukan Deteksi Teks menggunakan Anotasi Teks Lengkap Google Cloud Vision!