Per afegir text de visualització a la imatge en dibuixar vores d'objectes mitjançant la funció "draw_vertices" a la biblioteca Pillow Python, podem seguir un procés pas a pas. Aquest procés consisteix a recuperar els vèrtexs dels objectes detectats de l'API de Google Vision, dibuixar les vores de l'objecte mitjançant els vèrtexs i, finalment, afegir el text de visualització a la imatge.
1. Recupera els vèrtexs dels objectes detectats:
– Utilitzeu l'API de Google Vision per detectar objectes en una imatge.
– Extraieu els vèrtexs de cada objecte detectat de la resposta de l'API. Els vèrtexs representen les quatre cantonades del quadre delimitador que envolta l'objecte.
2. Dibuixa vores d'objectes utilitzant els vèrtexs:
– Carregueu la imatge mitjançant la biblioteca Pillow a Python.
– Creeu una instància del mòdul ImageDraw des de la biblioteca Pillow.
– Itera sobre els vèrtexs de cada objecte i dibuixa un rectangle mitjançant la funció "draw.rectangle" del mòdul ImageDraw.
– La funció "draw.rectangle" pren com a arguments les coordenades de les cantonades superior esquerra i inferior dreta del rectangle.
3. Afegiu text visualitzat a la imatge:
– Creeu una altra instància del mòdul ImageDraw.
– Itereu sobre els vèrtexs de cada objecte i afegiu el text de visualització mitjançant la funció "draw.text" del mòdul ImageDraw.
– La funció "draw.text" pren les coordenades de la posició del text i la cadena de text com a arguments.
– Podeu personalitzar la font, la mida, el color i altres propietats del text especificant paràmetres addicionals a la funció "draw.text".
Aquí teniu un fragment de codi d'exemple que mostra el procés descrit anteriorment:
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")
En aquest exemple, suposem que els vèrtexs dels objectes ja s'han obtingut de l'API de Google Vision. A continuació, carreguem la imatge mitjançant la biblioteca Pillow, dibuixem les vores de l'objecte amb els vèrtexs i afegim text de visualització a sobre de cada objecte.
Recordeu ajustar el codi segons els vostres requisits específics, com ara el tipus de lletra, la mida de la lletra i el color del text.
Altres preguntes i respostes recents sobre Dibuixar vores d’objectes mitjançant la biblioteca de pitó de coixins:
- Quins són els paràmetres del mètode "draw.line" al codi proporcionat i com s'utilitzen per dibuixar línies entre els valors dels vèrtexs?
- Com es pot utilitzar la biblioteca de coixins per dibuixar vores d'objectes a Python?
- Quin és l'objectiu de la funció "draw_vertices" al codi proporcionat?
- Com pot ajudar l'API de Google Vision a entendre les formes i els objectes d'una imatge?