Per aggiungere testo visualizzato all'immagine quando si disegnano i bordi degli oggetti utilizzando la funzione "draw_vertices" nella libreria Pillow Python, possiamo seguire una procedura passo passo. Questo processo prevede il recupero dei vertici degli oggetti rilevati dall'API di Google Vision, il disegno dei bordi dell'oggetto utilizzando i vertici e infine l'aggiunta del testo visualizzato all'immagine.
1. Recupera i vertici degli oggetti rilevati:
– Utilizza l'API Google Vision per rilevare oggetti in un'immagine.
– Estrai i vertici di ciascun oggetto rilevato dalla risposta API. I vertici rappresentano i quattro angoli del riquadro di delimitazione che circonda l'oggetto.
2. Disegna i bordi dell'oggetto utilizzando i vertici:
– Carica l'immagine utilizzando la libreria Pillow in Python.
– Crea un'istanza del modulo ImageDraw dalla libreria Pillow.
– Itera sui vertici di ciascun oggetto e disegna un rettangolo utilizzando la funzione "draw.rectangle" dal modulo ImageDraw.
– La funzione "draw.rectangle" prende come argomenti le coordinate degli angoli in alto a sinistra e in basso a destra del rettangolo.
3. Aggiungi testo visualizzato all'immagine:
– Crea un'altra istanza del modulo ImageDraw.
– Itera sui vertici di ciascun oggetto e aggiungi il testo visualizzato utilizzando la funzione "draw.text" dal modulo ImageDraw.
– La funzione "draw.text" prende come argomenti le coordinate della posizione del testo e la stringa di testo.
– È possibile personalizzare il carattere, la dimensione, il colore e altre proprietà del testo specificando parametri aggiuntivi nella funzione "draw.text".
Ecco uno snippet di codice di esempio che dimostra il processo sopra descritto:
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 questo esempio assumiamo che i vertici degli oggetti siano già stati ottenuti dall'API di Google Vision. Quindi carichiamo l'immagine utilizzando la libreria Pillow, disegniamo i bordi dell'oggetto utilizzando i vertici e aggiungiamo il testo visualizzato sopra ciascun oggetto.
Ricorda di modificare il codice in base alle tue esigenze specifiche, come il carattere, la dimensione del carattere e il colore del testo.
Altre domande e risposte recenti riguardanti Disegnare i bordi degli oggetti utilizzando la libreria pillow python:
- Quali sono i parametri del metodo "draw.line" nel codice fornito e come vengono utilizzati per tracciare linee tra i valori dei vertici?
- Come può essere utilizzata la libreria pillow per disegnare i bordi degli oggetti in Python?
- Qual è lo scopo della funzione "draw_vertices" nel codice fornito?
- In che modo l'API Google Vision può aiutare a comprendere forme e oggetti in un'immagine?