Щоб додати відображуваний текст до зображення під час малювання меж об’єкта за допомогою функції «draw_vertices» у бібліотеці Pillow Python, ми можемо виконати крок за кроком процес. Цей процес передбачає отримання вершин виявлених об’єктів з API Google Vision, малювання меж об’єктів за допомогою вершин і, нарешті, додавання відображуваного тексту до зображення.
1. Отримати вершини виявлених об'єктів:
– Використовуйте API Google Vision для виявлення об’єктів на зображенні.
– Витягніть вершини кожного виявленого об’єкта з відповіді API. Вершини представляють чотири кути обмежувальної рамки, яка оточує об’єкт.
2. Намалюйте межі об'єкта за допомогою вершин:
– Завантажте зображення за допомогою бібліотеки Pillow у Python.
– Створіть екземпляр модуля ImageDraw з бібліотеки Pillow.
– Перебирайте вершини кожного об’єкта та малюйте прямокутник за допомогою функції «draw.rectangle» із модуля ImageDraw.
– Функція "draw.rectangle" приймає координати верхнього лівого та нижнього правого кутів прямокутника як аргументи.
3. Додайте відображуваний текст до зображення:
– Створіть інший екземпляр модуля ImageDraw.
– Перебирайте вершини кожного об’єкта та додавайте відображуваний текст за допомогою функції «draw.text» із модуля ImageDraw.
– Функція "draw.text" приймає координати позиції тексту та текстового рядка як аргументи.
– Ви можете налаштувати шрифт, розмір, колір та інші властивості тексту, вказавши додаткові параметри у функції "draw.text".
Ось приклад фрагмента коду, який демонструє процес, описаний вище:
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")
У цьому прикладі ми припускаємо, що вершини об’єктів уже отримані з API Google Vision. Потім ми завантажуємо зображення за допомогою бібліотеки Pillow, малюємо межі об’єкта за допомогою вершин і додаємо відображуваний текст над кожним об’єктом.
Не забудьте налаштувати код відповідно до ваших конкретних вимог, таких як шрифт, розмір шрифту та колір тексту.
Інші останні запитання та відповіді щодо Малювання меж об'єктів за допомогою бібліотеки пітонів-подушок:
- Які параметри методу "draw.line" у наданому коді та як вони використовуються для малювання ліній між значеннями вершин?
- Як бібліотеку подушок можна використовувати для малювання меж об’єктів у Python?
- Яке призначення функції "draw_vertices" у наданому коді?
- Як Google Vision API може допомогти зрозуміти форми й об’єкти на зображенні?