Um beim Zeichnen von Objekträndern mithilfe der Funktion „draw_vertices“ in der Pillow-Python-Bibliothek Anzeigetext zum Bild hinzuzufügen, können wir einem Schritt-für-Schritt-Prozess folgen. Dieser Prozess umfasst das Abrufen der Eckpunkte der erkannten Objekte aus der Google Vision API, das Zeichnen der Objektränder mithilfe der Eckpunkte und schließlich das Hinzufügen des Anzeigetexts zum Bild.
1. Rufen Sie die Eckpunkte der erkannten Objekte ab:
– Nutzen Sie die Google Vision API, um Objekte in einem Bild zu erkennen.
– Extrahieren Sie die Eckpunkte jedes erkannten Objekts aus der API-Antwort. Die Scheitelpunkte stellen die vier Ecken des Begrenzungsrahmens dar, der das Objekt umgibt.
2. Objektränder anhand der Eckpunkte zeichnen:
– Laden Sie das Bild mit der Pillow-Bibliothek in Python.
– Erstellen Sie eine Instanz des ImageDraw-Moduls aus der Pillow-Bibliothek.
– Iterieren Sie über die Eckpunkte jedes Objekts und zeichnen Sie ein Rechteck mit der Funktion „draw.rectangle“ aus dem ImageDraw-Modul.
– Die Funktion „draw.rectangle“ verwendet die Koordinaten der oberen linken und unteren rechten Ecke des Rechtecks als Argumente.
3. Fügen Sie dem Bild Anzeigetext hinzu:
– Erstellen Sie eine weitere Instanz des ImageDraw-Moduls.
– Durchlaufen Sie die Eckpunkte jedes Objekts und fügen Sie den Anzeigetext mithilfe der Funktion „draw.text“ aus dem ImageDraw-Modul hinzu.
– Die Funktion „draw.text“ übernimmt die Koordinaten der Textposition und die Textzeichenfolge als Argumente.
– Sie können Schriftart, Größe, Farbe und andere Eigenschaften des Textes anpassen, indem Sie zusätzliche Parameter in der Funktion „draw.text“ angeben.
Hier ist ein Beispielcodeausschnitt, der den oben beschriebenen Prozess demonstriert:
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")
In diesem Beispiel gehen wir davon aus, dass die Eckpunkte der Objekte bereits von der Google Vision API abgerufen wurden. Anschließend laden wir das Bild mithilfe der Pillow-Bibliothek, zeichnen die Objektränder mithilfe der Scheitelpunkte und fügen über jedem Objekt Anzeigetext hinzu.
Denken Sie daran, den Code an Ihre spezifischen Anforderungen anzupassen, z. B. Schriftart, Schriftgröße und Textfarbe.
Weitere aktuelle Fragen und Antworten zu Zeichnen von Objekträndern mithilfe der Pillow Python-Bibliothek:
- Was sind die Parameter der Methode „draw.line“ im bereitgestellten Code und wie werden sie zum Zeichnen von Linien zwischen Scheitelpunktwerten verwendet?
- Wie kann die Kissenbibliothek zum Zeichnen von Objekträndern in Python verwendet werden?
- Welchen Zweck hat die Funktion „draw_vertices“ im bereitgestellten Code?
- Wie kann die Google Vision API dabei helfen, Formen und Objekte in einem Bild zu verstehen?
Weitere Fragen und Antworten:
- Feld: Artificial Intelligence
- Programm: EITC/AI/GVAPI Google Vision API (Gehen Sie zum Zertifizierungsprogramm)
- Lektion: Formen und Objekte verstehen (Gehen Sie zur entsprechenden Lektion)
- Thema: Zeichnen von Objekträndern mithilfe der Pillow Python-Bibliothek (Gehen Sie zum verwandten Thema)
- Prüfungsrückblick