Чтобы добавить отображаемый текст к изображению при рисовании границ объекта с помощью функции 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, рисуем границы объекта с помощью вершин и добавляем отображаемый текст над каждым объектом.
Не забудьте настроить код в соответствии с вашими конкретными требованиями, такими как шрифт, размер шрифта и цвет текста.
Другие недавние вопросы и ответы, касающиеся Рисование границ объекта с использованием библиотеки Python Pillow:
- Каковы параметры метода draw.line в предоставленном коде и как они используются для рисования линий между значениями вершин?
- Как можно использовать библиотеку подушек для рисования границ объектов в Python?
- Какова цель функции draw_vertices в предоставленном коде?
- Как Google Vision API может помочь в понимании форм и объектов на изображении?