Om weergavetekst aan de afbeelding toe te voegen bij het tekenen van objectranden met behulp van de functie "draw_vertices" in de Pillow Python-bibliotheek, kunnen we een stapsgewijs proces volgen. Dit proces omvat het ophalen van de hoekpunten van de gedetecteerde objecten uit de Google Vision API, het tekenen van de objectranden met behulp van de hoekpunten en het uiteindelijk toevoegen van de weergavetekst aan de afbeelding.
1. Haal de hoekpunten van de gedetecteerde objecten op:
– Gebruik de Google Vision API om objecten in een afbeelding te detecteren.
– Haal de hoekpunten van elk gedetecteerd object uit het API-antwoord. De hoekpunten vertegenwoordigen de vier hoeken van het kader dat het object omringt.
2. Teken objectranden met behulp van de hoekpunten:
– Laad de afbeelding met behulp van de Pillow-bibliotheek in Python.
– Maak een exemplaar van de ImageDraw-module vanuit de Pillow-bibliotheek.
– Herhaal de hoekpunten van elk object en teken een rechthoek met behulp van de functie "draw.rectangle" uit de ImageDraw-module.
– De functie "draw.rectangle" neemt de coördinaten van de hoeken linksboven en rechtsonder van de rechthoek als argumenten.
3. Voeg weergavetekst toe aan de afbeelding:
– Maak nog een exemplaar van de ImageDraw-module.
– Herhaal de hoekpunten van elk object en voeg de weergavetekst toe met behulp van de functie "draw.text" uit de ImageDraw-module.
– De functie "draw.text" neemt de coördinaten van de tekstpositie en de tekststring als argumenten.
– U kunt het lettertype, de grootte, de kleur en andere eigenschappen van de tekst aanpassen door aanvullende parameters op te geven in de functie "draw.text".
Hier is een voorbeeld van een codefragment dat het hierboven beschreven proces demonstreert:
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 dit voorbeeld gaan we ervan uit dat de hoekpunten van de objecten al zijn verkregen uit de Google Vision API. Vervolgens laden we de afbeelding met behulp van de Pillow-bibliotheek, tekenen we de objectranden met behulp van de hoekpunten en voegen we weergavetekst toe boven elk object.
Vergeet niet om de code aan te passen aan uw specifieke vereisten, zoals het lettertype, de lettergrootte en de tekstkleur.
Andere recente vragen en antwoorden over Objectranden tekenen met behulp van de kussenpython-bibliotheek:
- Wat zijn de parameters van de "draw.line"-methode in de meegeleverde code, en hoe worden ze gebruikt om lijnen tussen hoekpuntenwaarden te tekenen?
- Hoe kan de kussenbibliotheek worden gebruikt om objectranden in Python te tekenen?
- Wat is het doel van de functie "draw_vertices" in de meegeleverde code?
- Hoe kan de Google Vision API helpen bij het begrijpen van vormen en objecten in een afbeelding?