Untuk menambah teks paparan pada imej semasa melukis sempadan objek menggunakan fungsi "draw_vertices" dalam perpustakaan Pillow Python, kita boleh mengikuti proses langkah demi langkah. Proses ini melibatkan mendapatkan semula bucu objek yang dikesan daripada API Google Vision, melukis sempadan objek menggunakan bucu dan akhirnya menambah teks paparan pada imej.
1. Dapatkan bucu objek yang dikesan:
– Gunakan API Google Vision untuk mengesan objek dalam imej.
– Ekstrak bucu setiap objek yang dikesan daripada respons API. Bucu mewakili empat penjuru kotak sempadan yang mengelilingi objek.
2. Lukis sempadan objek menggunakan bucu:
– Muatkan imej menggunakan perpustakaan Bantal dalam Python.
– Buat contoh modul ImageDraw daripada perpustakaan Bantal.
– Lelaran di atas bucu setiap objek dan lukis segi empat tepat menggunakan fungsi "draw.rectangle" daripada modul ImageDraw.
– Fungsi "draw.rectangle" mengambil koordinat penjuru kiri atas dan kanan bawah segi empat tepat sebagai argumen.
3. Tambahkan teks paparan pada imej:
– Buat contoh lain modul ImageDraw.
– Lelaran di atas bucu setiap objek dan tambah teks paparan menggunakan fungsi "draw.text" daripada modul ImageDraw.
– Fungsi "draw.text" mengambil koordinat kedudukan teks dan rentetan teks sebagai argumen.
– Anda boleh menyesuaikan fon, saiz, warna dan sifat teks yang lain dengan menentukan parameter tambahan dalam fungsi "draw.text".
Berikut ialah contoh coretan kod yang menunjukkan proses yang diterangkan 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 menganggap bahawa bucu objek telah diperoleh daripada API Google Vision. Kami kemudian memuatkan imej menggunakan perpustakaan Bantal, lukis sempadan objek menggunakan bucu, dan tambah teks paparan di atas setiap objek.
Ingat untuk melaraskan kod mengikut keperluan khusus anda, seperti fon, saiz fon dan warna teks.
Soalan dan jawapan terbaru lain mengenai Melukis sempadan objek menggunakan perpustakaan bantal python:
- Apakah parameter kaedah "draw.line" dalam kod yang disediakan dan bagaimana ia digunakan untuk melukis garisan antara nilai bucu?
- Bagaimanakah perpustakaan bantal boleh digunakan untuk melukis sempadan objek dalam Python?
- Apakah tujuan fungsi "draw_vertices" dalam kod yang disediakan?
- Bagaimanakah API Google Vision boleh membantu dalam memahami bentuk dan objek dalam imej?