Audiens
Tujuan tutorial ini adalah untuk membantu Anda mengembangkan aplikasi menggunakan fitur deteksi Web Vision API. Hal ini mengasumsikan bahwa Anda sudah memahami konstruksi dan teknik pemrograman dasar, tetapi meskipun jika Anda adalah programmer pemula, Anda harus dapat mengikuti dan menjalankan tutorial ini tanpa kesulitan, kemudian gunakan dokumentasi referensi Vision API untuk membuat aplikasi dasar.
Langkah tutorial ini menjelaskan tentang aplikasi Vision API, yang menunjukkan kepada Anda cara melakukan panggilan ke Vision API untuk menggunakan fitur deteksi Web-nya.
Prasyarat
- Siapkan project Vision API di konsol Google Cloud.
Siapkan lingkungan Anda untuk menggunakan Kredensial Default Aplikasi.
Python
- Instal Python.
- Instal pip.
- Instal Library Klien Google Cloud.
Ringkasan
Tutorial ini mengarahkan Anda ke aplikasi Vision API dasar yang menggunakan
Web detection
permintaan. Respons Web detection
menganotasi gambar
yang dikirim dalam permintaan dengan:
- label yang diperoleh dari Web
- URL situs yang memiliki gambar yang cocok
- URL ke Gambar web yang cocok sebagian atau sepenuhnya dengan gambar dalam permintaan
- URL ke gambar yang mirip secara visual
Listingan kode
Saat Anda membaca kode, Kami merekomendasikan Anda mengikuti dengan melihat referensi Python Vision API.
Aplikasi sederhana ini melakukan tugas-tugas berikut:
- Mengimpor library yang diperlukan untuk menjalankan aplikasi
- Mengambil jalur gambar sebagai argumen dan meneruskannya ke fungsi
main()
- Menggunakan Klien Google Cloud API untuk melakukan deteksi Web
- Melakukan loop pada respons dan mencetak hasilnya
- Mencetak daftar entitas Web dengan deskripsi dan skor
- Mencetak daftar halaman yang cocok
- Mencetak daftar gambar yang cocok sebagian
- Mencetak daftar gambar yang cocok sepenuhnya
Jelajahi lebih lanjut
Mengimpor library
Kami mengimpor library standar:
argparse
untuk mengizinkan aplikasi menerima nama file input sebagai argumenio
untuk membaca dari file
Impor lainnya:
- Class
ImageAnnotatorClient
dalam librarygoogle.cloud.vision
untuk mengakses Vision API. - Modul
types
dalam librarygoogle.cloud.vision
untuk membuat permintaan.
Menjalankan aplikasi
Di sini, kami cukup mengurai argumen yang diteruskan yang menentukan URL
gambar Web, dan meneruskannya ke fungsi main()
.
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). Library klien mendapatkan kredensial secara otomatis. Secara default,
hal ini dilakukan dengan mendapatkan kredensial dari
variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
, yang harus ditetapkan agar mengarah ke file kunci JSON
akun layanan Anda (lihat
Siapkan Akun Layanan
untuk mengetahui informasi selengkapnya.)
Membuat permintaan
Sekarang setelah layanan Vision API kami siap, kami dapat membuat permintaan ke layanan.
Cuplikan kode ini melakukan tugas-tugas berikut:
- Membuat instance
ImageAnnotatorClient
sebagai klien. - Membuat objek
Image
dari file lokal atau URI. - Meneruskan objek
Image
ke metodeweb_detection
klien. - Menampilkan anotasi.
Mencetak respons
Setelah operasi selesai, kami menelusuri WebDetection, dan mencetak entity dan URL yang terdapat dalam anotasi (dua hasil teratas dari setiap jenis anotasi ditampilkan di bagian berikutnya).
Menjalankan aplikasi
Untuk menjalankan aplikasi, kami meneruskan URL Web (http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg) dari gambar mobil berikut.
Berikut adalah perintah Python dengan URL Web yang diteruskan dari gambar mobil, diikuti dengan output konsol. Perlu diperhatikan bahwa skor relevansi ditambahkan setelah entity yang tercantum. Perhatikan bahwa skor tidak dinormalisasi atau dapat dibandingkan di kueri gambar yang berbeda.
python web_detect.py "http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg"
5 Pages with matching images retrieved Url : http://www.photos-public-domain.com/2011/01/07/old-volkswagen-bug-and-van/ Url : http://pix-hd.com/old+volkswagen+van+for+sale ... 2 Full Matches found: Url : http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg Url : http://www.wbwagen.com/media/old-volkswagen-bug-and-van-picture-free-photograph-photos-public_s_66f487042adad5a6.jpg 4 Partial Matches found: Url : http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg Url : http://www.wbwagen.com/media/old-vw-bug-and-vanjpg_s_ac343d7f041b5f8d.jpg ... 5 Web entities found: Score : 5.35028934479 Description: Volkswagen Beetle Score : 1.43998003006 Description: Volkswagen Score : 0.828279972076 Description: Volkswagen Type 2 Score : 0.75271999836 Description: Van Score : 0.690039992332 Description: Car
Selamat! Anda telah melakukan deteksi Web menggunakan Vision API!