Untuk mengidentifikasi dan menyorot objek yang terdeteksi secara visual dalam gambar menggunakan pustaka Pillow, kita dapat mengikuti proses langkah demi langkah. Pustaka Pillow adalah pustaka pencitraan Python yang kuat yang menyediakan berbagai kemampuan pemrosesan gambar. Dengan menggabungkan kemampuan pustaka Pillow dengan fungsi deteksi objek Google Vision API, kami dapat menyelesaikan tugas ini secara efisien.
Berikut langkah-langkah untuk mengidentifikasi dan menyorot objek yang terdeteksi secara visual dalam gambar menggunakan pustaka Pillow:
1. Instal perpustakaan yang diperlukan: Mulailah dengan menginstal perpustakaan yang diperlukan. Instal Bantal menggunakan perintah `pip install bantal`. Selain itu, Anda perlu menyiapkan Google Vision API dan menginstal pustaka klien Google Cloud untuk Python.
2. Otentikasi dengan Google Vision API: Untuk menggunakan Google Vision API, Anda perlu mengautentikasi aplikasi Anda. Ikuti dokumentasi yang disediakan oleh Google untuk mendapatkan kredensial yang diperlukan.
3. Memuat dan menganalisis gambar: Gunakan perpustakaan Bantal untuk memuat gambar yang ingin Anda analisis. Anda dapat menggunakan metode `Image.open()` untuk membuka file gambar. Setelah gambar dimuat, konversikan ke format yang kompatibel dengan Google Vision API, seperti JPEG atau PNG.
4. Kirim gambar ke Google Vision API: Gunakan pustaka klien Google Cloud untuk Python guna mengirim gambar ke Google Vision API untuk deteksi objek. Hal ini dapat dilakukan dengan membuat objek permintaan dengan data gambar dan memanggil metode yang sesuai, seperti `image_annotator_client.object_localization().annotate_image()`.
5. Ambil hasil deteksi objek: Ekstrak hasil deteksi objek dari respon yang diterima dari Google Vision API. Responsnya akan berisi informasi tentang objek yang terdeteksi, seperti kotak pembatas, label, dan skor keyakinannya.
6. Menggambar kotak pembatas pada gambar: Gunakan perpustakaan Bantal untuk menggambar kotak pembatas di sekitar objek yang terdeteksi pada gambar. Anda dapat menggunakan metode `ImageDraw.Draw()` untuk membuat objek gambar, lalu menggunakan metode `draw.rectangle()` untuk menggambar kotak pembatas.
7. Tambahkan label dan skor pada gambar: Untuk menyempurnakan visualisasi, Anda dapat menambahkan label dan skor kepercayaan pada gambar. Gunakan metode `draw.text()` dari pustaka Pillow untuk melapisi label dan skor pada gambar.
8. Simpan dan tampilkan gambar beranotasi: Simpan gambar beranotasi menggunakan metode `Image.save()` dari perpustakaan Pillow. Anda dapat memilih format yang diinginkan, seperti JPEG atau PNG. Secara opsional, tampilkan gambar beranotasi menggunakan metode `Image.show()`.
Dengan mengikuti langkah-langkah ini, Anda dapat mengidentifikasi dan menyorot objek yang terdeteksi secara visual dalam gambar menggunakan pustaka Pillow. Kombinasi kemampuan pemrosesan gambar yang kuat dari Pillow dan fungsi deteksi objek dari Google Vision API memungkinkan analisis gambar yang efisien dan akurat.
Contoh:
python from PIL import Image, ImageDraw from google.cloud import vision # Load and analyze the image image_path = 'path/to/your/image.jpg' image = Image.open(image_path) image_data = image.tobytes() # Authenticate with the Google Vision API client = vision.ImageAnnotatorClient.from_service_account_json('path/to/your/credentials.json') # Send the image to the Google Vision API for object detection response = client.object_localization(image=vision.Image(content=image_data)) objects = response.localized_object_annotations # Draw bounding boxes on the image draw = ImageDraw.Draw(image) for obj in objects: bbox = obj.bounding_poly.normalized_vertices draw.rectangle([(bbox[0].x * image.width, bbox[0].y * image.height), (bbox[2].x * image.width, bbox[2].y * image.height)], outline='red', width=3) # Add labels and scores to the image label = obj.name score = obj.score draw.text((bbox[0].x * image.width, bbox[0].y * image.height - 15), f'{label} ({score:.2f})', fill='red') # Save and display the annotated image annotated_image_path = 'path/to/save/annotated_image.jpg' image.save(annotated_image_path) image.show()
Dalam contoh ini, pertama-tama kita memuat dan menganalisis gambar menggunakan pustaka Pillow. Kemudian, kami mengautentikasi dengan Google Vision API dan mengirimkan gambar untuk deteksi objek. Kami mengambil hasil deteksi objek dan menggunakan perpustakaan Bantal untuk menggambar kotak pembatas di sekitar objek yang terdeteksi pada gambar. Selain itu, kami menambahkan label dan skor kepercayaan pada gambar. Terakhir, kami menyimpan dan menampilkan gambar beranotasi.
Pertanyaan dan jawaban terbaru lainnya tentang Pemahaman gambar tingkat lanjut:
- Apa sajakah kategori yang telah ditentukan sebelumnya untuk pengenalan objek di Google Vision API?
- Pendekatan apa yang direkomendasikan untuk menggunakan fitur deteksi penelusuran aman yang dikombinasikan dengan teknik moderasi lainnya?
- Bagaimana kami dapat mengakses dan menampilkan nilai kemungkinan untuk setiap kategori dalam anotasi penelusuran aman?
- Bagaimana kita bisa mendapatkan anotasi penelusuran aman menggunakan Google Vision API dengan Python?
- Apa saja lima kategori yang termasuk dalam fitur deteksi pencarian aman?
- Bagaimana cara fitur penelusuran aman Google Vision API mendeteksi konten eksplisit dalam gambar?
- Bagaimana kita mengatur informasi objek yang diekstraksi dalam format tabel menggunakan bingkai data pandas?
- Bagaimana kita mengekstrak semua anotasi objek dari respons API?
- Pustaka dan bahasa pemrograman apa yang digunakan untuk mendemonstrasikan fungsi Google Vision API?
- Bagaimana cara Google Vision API melakukan deteksi dan pelokalan objek pada gambar?
Lihat lebih banyak pertanyaan dan jawaban di Pemahaman gambar tingkat lanjut