Untuk menambahkan teks tampilan ke gambar saat menggambar batas objek menggunakan fungsi "draw_vertices" di perpustakaan Pillow Python, kita dapat mengikuti proses langkah demi langkah. Proses ini melibatkan pengambilan simpul objek yang terdeteksi dari Google Vision API, menggambar batas objek menggunakan simpul, dan terakhir menambahkan teks tampilan ke gambar.
1. Ambil simpul dari objek yang terdeteksi:
– Memanfaatkan Google Vision API untuk mendeteksi objek dalam gambar.
– Ekstrak simpul setiap objek yang terdeteksi dari respons API. Titik sudut mewakili empat sudut kotak pembatas yang mengelilingi objek.
2. Gambarkan batas objek menggunakan simpul:
– Muat gambar menggunakan perpustakaan Bantal dengan Python.
– Buat instance modul ImageDraw dari perpustakaan Pillow.
– Ulangi titik sudut setiap objek dan gambarlah persegi panjang menggunakan fungsi "draw.rectangle" dari modul ImageDraw.
– Fungsi "draw.rectangle" mengambil koordinat sudut kiri atas dan kanan bawah persegi panjang sebagai argumen.
3. Tambahkan teks tampilan ke gambar:
– Buat instance lain dari modul ImageDraw.
– Ulangi simpul setiap objek dan tambahkan teks tampilan menggunakan fungsi "draw.text" dari modul ImageDraw.
– Fungsi "draw.text" mengambil koordinat posisi teks dan string teks sebagai argumen.
– Anda dapat menyesuaikan font, ukuran, warna, dan properti teks lainnya dengan menentukan parameter tambahan di fungsi "draw.text".
Berikut adalah cuplikan kode contoh yang menunjukkan proses yang dijelaskan di atas:
python from PIL import Image, ImageDraw, ImageFont # Step 1: Retrieve the vertices of the detected objects # (Assuming you have already obtained the vertices from the Google Vision API) vertices = [ [(100, 100), (200, 100), (200, 200), (100, 200)], # Example vertices of object 1 [(300, 150), (400, 150), (400, 250), (300, 250)] # Example vertices of object 2 ] # Step 2: Draw object borders using the vertices image = Image.open("input_image.jpg") draw = ImageDraw.Draw(image) for vertex in vertices: draw.rectangle(vertex, outline="red") # Step 3: Add display text to the image font = ImageFont.truetype("arial.ttf", 12) text_draw = ImageDraw.Draw(image) for i, vertex in enumerate(vertices): text_position = vertex[0][0], vertex[0][1] - 20 text_draw.text(text_position, f"Object {i+1}", font=font, fill="red") # Save the modified image image.save("output_image.jpg")
Dalam contoh ini, kami berasumsi bahwa simpul objek telah diperoleh dari Google Vision API. Kami kemudian memuat gambar menggunakan perpustakaan Bantal, menggambar batas objek menggunakan simpul, dan menambahkan teks tampilan di atas setiap objek.
Ingatlah untuk menyesuaikan kode sesuai dengan kebutuhan spesifik Anda, seperti font, ukuran font, dan warna teks.
Pertanyaan dan jawaban terbaru lainnya tentang Menggambar batas objek menggunakan library pillow python:
- Apa saja parameter metode "draw.line" dalam kode yang disediakan, dan bagaimana cara menggunakannya untuk menggambar garis antar nilai simpul?
- Bagaimana perpustakaan bantal dapat digunakan untuk menggambar batas objek dengan Python?
- Apa tujuan dari fungsi "draw_vertices" dalam kode yang disediakan?
- Bagaimana Google Vision API dapat membantu memahami bentuk dan objek dalam gambar?