Deteksi tulisan tangan dengan Pengenalan Karakter Optik (OCR)
Vision API dapat mendeteksi dan mengekstrak teks dari gambar:
DOCUMENT_TEXT_DETECTION
mengekstrak teks dari gambar (atau file); respons akan dioptimalkan untuk teks dan dokumen yang padat. JSON mencakup informasi halaman, blok, paragraf, kata, dan jeda.Salah satu penggunaan khusus DOCUMENT_TEXT_DETECTION adalah untuk mendeteksi tulisan tangan dalam gambar.
Cobalah sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Vision API dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba gratis Cloud Vision APIPermintaan deteksi teks dokumen
Menyiapkan autentikasi dan project Google Cloud Anda
Mendeteksi teks dokumen dalam gambar lokal
Anda dapat menggunakan Vision API untuk melakukan deteksi fitur pada file gambar lokal.
Untuk permintaan REST, kirim konten file gambar sebagai string yang berenkode base64 dalam isi permintaan Anda.
Untuk gcloud
dan permintaan library klien, tentukan jalur ke image lokal dalam
permintaan Anda.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- BASE64_ENCODED_IMAGE: Representasi
base64 (string ASCII) dari data gambar biner Anda. String ini akan terlihat seperti
string berikut:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: ID project Google Cloud Anda.
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/images:annotate
Isi JSON permintaan:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE" }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ] } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Go API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai Vision API Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java Vision API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Node.js API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Python API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi vision untuk .NET.
PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi vision untuk PHP.
Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Vision untuk Ruby.
Mendeteksi teks dokumen dalam gambar jarak jauh
Anda dapat menggunakan Vision API untuk melakukan deteksi fitur pada file gambar jarak jauh yang terletak di Cloud Storage atau di Web. Untuk mengirim permintaan file jarak jauh, tentukan URL Web atau Cloud Storage URI file dalam isi permintaan.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- CLOUD_STORAGE_IMAGE_URI: jalur ke file gambar
yang valid di bucket Cloud Storage. Anda setidaknya harus memiliki hak istimewa baca ke file tersebut.
Contoh:
gs://cloud-samples-data/vision/handwriting_image.png
- PROJECT_ID: ID project Google Cloud Anda.
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/images:annotate
Isi JSON permintaan:
{ "requests": [ { "image": { "source": { "imageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ] } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Go API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai Vision API Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java Vision API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Node.js API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Python API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
gcloud
Untuk melakukan deteksi tulisan tangan, gunakan
perintah gcloud ml vision detect-document
seperti yang ditunjukkan pada contoh berikut:
gcloud ml vision detect-document gs://cloud-samples-data/vision/handwriting_image.png
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi vision untuk .NET.
PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi vision untuk PHP.
Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi vision untuk Ruby.
Tentukan bahasa (opsional)
Kedua jenis permintaan OCR mendukung satu atau beberapa languageHints
yang menentukan
bahasa teks apa pun dalam gambar. Namun, nilai kosong biasanya memberikan hasil terbaik,
karena menghapus nilai akan mengaktifkan deteksi bahasa otomatis. Untuk bahasa yang didasarkan pada alfabet
Latin, penyetelan languageHints
tidak diperlukan. Dalam kasus yang jarang terjadi, jika bahasa
teks dalam
gambar diketahui, setelan petunjuk akan membantu mendapatkan hasil yang lebih baik (meskipun dapat menjadi penghalang yang signifikan
jika petunjuk salah). Deteksi teks akan menampilkan error jika satu atau beberapa
bahasa yang ditentukan bukan salah satu
bahasa yang didukung.
Jika Anda memilih untuk memberikan petunjuk bahasa, ubah isi permintaan Anda
(file request.json
) untuk memberikan string dari salah satu bahasa yang didukung
di kolom imageContext.languageHints
seperti yang ditunjukkan di contoh berikut:
{ "requests": [ { "image": { "source": { "imageUri": "IMAGE_URL" } }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ], "imageContext": { "languageHints": ["en-t-i0-handwrit"] } } ] }
Dukungan multi-regional
Sekarang Anda dapat menentukan penyimpanan data tingkat benua dan pemrosesan OCR. Wilayah berikut saat ini didukung:
us
: Khusus negara ASeu
: Uni Eropa
Lokasi
Cloud Vision menawarkan Anda beberapa kontrol terkait lokasi penyimpanan dan pemrosesan resource untuk project Anda. Secara khusus, Anda dapat mengonfigurasi Cloud Vision untuk menyimpan dan memproses data hanya di Uni Eropa.
Secara default, Cloud Vision menyimpan dan memproses resource di lokasi Global, yang berarti bahwa Cloud Vision tidak menjamin resource Anda akan tetap berada dalam lokasi atau region tertentu. Jika Anda memilih lokasi Uni Eropa, Google akan menyimpan data Anda dan memprosesnya hanya di Uni Eropa. Anda dan pengguna Anda dapat mengakses data dari lokasi mana pun.
Menetapkan lokasi menggunakan API
Vision API mendukung endpoint API global (vision.googleapis.com
) dan juga
dua endpoint berbasis region: endpoint Uni Eropa
(eu-vision.googleapis.com
) dan endpoint Amerika Serikat
(us-vision.googleapis.com
). Gunakan endpoint ini untuk pemrosesan khusus
per region. Misalnya, untuk menyimpan dan memproses data Anda hanya di Uni Eropa, gunakan
URI eu-vision.googleapis.com
sebagai pengganti vision.googleapis.com
untuk panggilan REST API Anda:
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/images:annotate
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/images:asyncBatchAnnotate
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/files:annotate
- https://eu-vision.googleapis.com/v1/projects/PROJECT_ID/locations/eu/files:asyncBatchAnnotate
Untuk menyimpan dan memproses data Anda hanya di Amerika Serikat, gunakan endpoint AS
(us-vision.googleapis.com
) dengan metode sebelumnya.
Menetapkan lokasi menggunakan library klien
Library klien Vision API mengakses endpoint API global
(vision.googleapis.com
) secara default. Untuk menyimpan dan memproses data hanya di
Uni Eropa, Anda perlu menetapkan endpoint
(eu-vision.googleapis.com
) secara eksplisit. Contoh kode berikut menunjukkan cara mengonfigurasi
setelan ini.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGION_ID: Salah satu ID lokasi
regional yang valid:
us
: Khusus negara ASeu
: Uni Eropa
- CLOUD_STORAGE_IMAGE_URI: jalur ke file gambar
yang valid di bucket Cloud Storage. Anda setidaknya harus memiliki hak istimewa baca ke file tersebut.
Contoh:
gs://cloud-samples-data/vision/handwriting_image.png
- PROJECT_ID: ID project Google Cloud Anda.
Metode HTTP dan URL:
POST https://REGION_ID-vision.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/images:annotate
Isi JSON permintaan:
{ "requests": [ { "image": { "source": { "imageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ] } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION_ID-vision.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/images:annotate"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION_ID-vision.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/images:annotate" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Go API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai Vision API Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java Vision API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Node.js API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Python API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Cobalah
Coba deteksi teks dan deteksi teks dokumen di alat berikut. Anda dapat
menggunakan gambar yang ditetapkan
(gs://cloud-samples-data/vision/handwriting_image.png
) dengan mengklik
Execute, atau Anda dapat menentukan gambar Anda sendiri sebagai gantinya.
Isi permintaan:
{ "requests": [ { "features": [ { "type": "DOCUMENT_TEXT_DETECTION" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/handwriting_image.png" } } } ] }