Aby dodać tekst wyświetlany do obrazu podczas rysowania krawędzi obiektów za pomocą funkcji „draw_vertices” w bibliotece Pillow Python, możemy wykonać proces krok po kroku. Proces ten polega na pobraniu wierzchołków wykrytych obiektów z interfejsu API Google Vision, narysowaniu krawędzi obiektów za pomocą wierzchołków i na koniec dodaniu wyświetlanego tekstu do obrazu.
1. Pobierz wierzchołki wykrytych obiektów:
– Wykorzystaj Google Vision API do wykrywania obiektów na obrazie.
– Wyodrębnij wierzchołki każdego wykrytego obiektu z odpowiedzi API. Wierzchołki reprezentują cztery rogi obwiedni otaczającej obiekt.
2. Narysuj granice obiektów za pomocą wierzchołków:
– Załaduj obraz, korzystając z biblioteki Pillow w Pythonie.
– Utwórz instancję modułu ImageDraw z biblioteki Pillow.
– Iteruj po wierzchołkach każdego obiektu i narysuj prostokąt za pomocą funkcji „draw.rectangle” z modułu ImageDraw.
– Funkcja „draw.rectangle” przyjmuje jako argumenty współrzędne lewego górnego i prawego dolnego rogu prostokąta.
3. Dodaj wyświetlany tekst do obrazu:
– Utwórz kolejną instancję modułu ImageDraw.
– Wykonaj iterację po wierzchołkach każdego obiektu i dodaj wyświetlany tekst za pomocą funkcji „draw.text” z modułu ImageDraw.
– Funkcja „draw.text” przyjmuje jako argumenty współrzędne pozycji tekstu i ciąg tekstowy.
– Możesz dostosować czcionkę, rozmiar, kolor i inne właściwości tekstu, określając dodatkowe parametry w funkcji „draw.text”.
Oto przykładowy fragment kodu demonstrujący proces opisany powyżej:
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")
W tym przykładzie zakładamy, że wierzchołki obiektów zostały już uzyskane z Google Vision API. Następnie ładujemy obraz za pomocą biblioteki Pillow, rysujemy krawędzie obiektu za pomocą wierzchołków i dodajemy wyświetlany tekst nad każdym obiektem.
Pamiętaj, aby dostosować kod do swoich konkretnych wymagań, takich jak czcionka, rozmiar czcionki i kolor tekstu.
Inne niedawne pytania i odpowiedzi dotyczące Rysowanie granic obiektów za pomocą biblioteki Python poduszek:
- Jakie są parametry metody „draw.line” w dostarczonym kodzie i jak są używane do rysowania linii pomiędzy wartościami wierzchołków?
- W jaki sposób można wykorzystać bibliotekę poduszek do rysowania granic obiektów w Pythonie?
- Jaki jest cel funkcji „draw_vertices” w dostarczonym kodzie?
- W jaki sposób interfejs Google Vision API może pomóc w zrozumieniu kształtów i obiektów na obrazie?
Więcej pytań i odpowiedzi:
- Pole: Artificial Intelligence
- Program: EITC/AI/GVAPI Interfejs Google Vision API (przejdź do programu certyfikacji)
- Lekcja: Zrozumienie kształtów i obiektów (przejdź do odpowiedniej lekcji)
- Wątek: Rysowanie granic obiektów za pomocą biblioteki Python poduszek (przejdź do powiązanego tematu)
- Przegląd egzaminów