За да добавим текст за показване към изображението, когато чертаем граници на обекти с помощта на функцията "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")
В този пример предполагаме, че върховете на обектите вече са получени от Google Vision API. След това зареждаме изображението с помощта на библиотеката Pillow, рисуваме границите на обекта с помощта на върховете и добавяме текст за показване над всеки обект.
Не забравяйте да коригирате кода според вашите специфични изисквания, като например шрифт, размер на шрифта и цвят на текста.
Други скорошни въпроси и отговори относно Изчертаване на граници на обекти с помощта на библиотека на python за възглавници:
- Какви са параметрите на метода "draw.line" в предоставения код и как се използват за чертане на линии между стойностите на върховете?
- Как може библиотеката с възглавници да се използва за изчертаване на граници на обекти в Python?
- Каква е целта на функцията "draw_vertices" в предоставения код?
- Как API на Google Vision може да помогне за разбирането на формите и обектите в изображение?
Още въпроси и отговори:
- Невярно: Изкуствен интелект
- програма: EITC/AI/GVAPI API на Google Vision (отидете на програмата за сертифициране)
- Урок: Разбиране на форми и предмети (отидете на свързан урок)
- Тема: Изчертаване на граници на обекти с помощта на библиотека на python за възглавници (отидете на свързана тема)
- Преглед на изпита