Vision API dapat menjalankan layanan deteksi offline (asinkron) dan
anotasi sejumlah besar file gambar menggunakan beberapa
jenis fitur Vision apa pun. Misalnya, Anda
dapat menentukan satu atau lebih fitur Vision API (seperti
TEXT_DETECTION
, LABEL_DETECTION
,
dan LANDMARK_DETECTION
) untuk setiap batch gambar.
Output dari permintaan batch offline ditulis ke file JSON yang dibuat dalam bucket Cloud Storage yang ditentukan.
Batasan
Vision API menerima hingga 2.000 file gambar. Batch file gambar yang lebih besar akan menampilkan {i>error.<i}
Jenis fitur yang didukung saat ini
Jenis fitur | |
---|---|
CROP_HINTS |
Menetapkan verteks yang disarankan untuk area crop pada gambar |
DOCUMENT_TEXT_DETECTION |
Menjalankan OCR pada gambar teks padat, seperti dokumen (PDF/TIFF), dan gambar dengan tulisan tangan.
TEXT_DETECTION dapat digunakan untuk gambar teks yang renggang.
Lebih diutamakan jika ada DOCUMENT_TEXT_DETECTION dan
TEXT_DETECTION .
|
FACE_DETECTION |
Mendeteksi wajah dalam gambar. |
IMAGE_PROPERTIES |
Menghitung kumpulan properti gambar, seperti warna dominan di gambar. |
LABEL_DETECTION |
Menambahkan label berdasarkan konten gambar. |
LANDMARK_DETECTION |
Mendeteksi landmark geografis dalam gambar. |
LOGO_DETECTION |
Mendeteksi logo perusahaan dalam gambar. |
OBJECT_LOCALIZATION |
Mendeteksi dan mengekstrak beberapa objek dalam gambar. |
SAFE_SEARCH_DETECTION |
Menjalankan SafeSearch untuk mendeteksi konten yang berpotensi tidak aman atau tidak diinginkan. |
TEXT_DETECTION |
Menjalankan Pengenalan Karakter Optik (OCR) pada teks dalam gambar.
Deteksi teks dioptimalkan untuk area teks renggang dalam gambar yang lebih besar.
Jika gambar adalah dokumen (PDF/TIFF), memiliki teks padat, atau berisi tulisan tangan, gunakan DOCUMENT_TEXT_DETECTION sebagai gantinya.
|
WEB_DETECTION |
Mendeteksi entitas topik tertentu seperti berita, peristiwa, atau selebritas dalam gambar, serta menemukan gambar serupa di web menggunakan kecanggihan Penelusuran Gambar Google. |
Contoh kode
Gunakan contoh kode berikut untuk menjalankan layanan anotasi offline pada batch file gambar di Cloud Storage.
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.
Respons
Permintaan yang berhasil akan menampilkan respons files JSON pada bucket Cloud Storage
yang Anda tunjukkan dalam contoh kode. Jumlah respons per file JSON
ditentukan oleh batch_size
contoh kode.
Respon yang ditampilkan mirip dengan respon fitur Vision API reguler, berdasarkan pada fitur yang Anda minta untuk gambar.
Respon berikut
menunjukkan LABEL_DETECTION
dan TEXT_DETECTION
anotasi untuk image1.png
,
IMAGE_PROPERTIES
anotasi untuk image2.jpg
, dan OBJECT_LOCALIZATION
anotasi untuk image3.jpg
.
Responsnya juga berisi context
kolom yang menunjukkan
URI file.
offline_batch_output/output-1-to-2.json
{ "responses": [ { "labelAnnotations": [ { "mid": "/m/07s6nbt", "description": "Text", "score": 0.93413997, "topicality": 0.93413997 }, { "mid": "/m/0dwx7", "description": "Logo", "score": 0.8733531, "topicality": 0.8733531 }, ... { "mid": "/m/03bxgrp", "description": "Company", "score": 0.5682425, "topicality": 0.5682425 } ], "textAnnotations": [ { "locale": "en", "description": "Google\n", "boundingPoly": { "vertices": [ { "x": 72, "y": 40 }, { "x": 613, "y": 40 }, { "x": 613, "y": 233 }, { "x": 72, "y": 233 } ] } }, ... ], "blockType": "TEXT" } ] } ], "text": "Google\n" }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image1.png" } }, { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 229, "green": 230, "blue": 238 }, "score": 0.2744754, "pixelFraction": 0.075339235 }, ... { "color": { "red": 86, "green": 87, "blue": 95 }, "score": 0.025770646, "pixelFraction": 0.13109145 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 1599 }, { "x": 1599, "y": 1199 }, { "y": 1199 } ] }, "confidence": 0.79999995, "importanceFraction": 1 } ] }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image2.jpg" } } ] }
offline_batch_output/output-3-to-3.json
{ "responses": [ { "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image3.jpg" }, "localizedObjectAnnotations": [ { "mid": "/m/0bt9lr", "name": "Dog", "score": 0.9669734, "boundingPoly": { "normalizedVertices": [ { "x": 0.6035543, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.98426414 }, { "x": 0.6035543, "y": 0.98426414 } ] } }, ... { "mid": "/m/0jbk", "name": "Animal", "score": 0.58003056, "boundingPoly": { "normalizedVertices": [ { "x": 0.014534635, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.98426414 }, { "x": 0.014534635, "y": 0.98426414 } ] } } ] } ] }