Pour ajouter du texte d'affichage à l'image lors du dessin des bordures d'objets à l'aide de la fonction "draw_vertices" de la bibliothèque Pillow Python, nous pouvons suivre un processus étape par étape. Ce processus consiste à récupérer les sommets des objets détectés à partir de l'API Google Vision, à dessiner les bordures de l'objet à l'aide des sommets et enfin à ajouter le texte d'affichage à l'image.
1. Récupérez les sommets des objets détectés :
– Utilisez l'API Google Vision pour détecter des objets dans une image.
– Extrayez les sommets de chaque objet détecté de la réponse API. Les sommets représentent les quatre coins du cadre de délimitation qui entoure l'objet.
2. Dessinez les bordures des objets à l'aide des sommets :
– Chargez l’image à l’aide de la bibliothèque Pillow en Python.
– Créez une instance du module ImageDraw à partir de la bibliothèque Pillow.
– Parcourez les sommets de chaque objet et dessinez un rectangle à l'aide de la fonction "draw.rectangle" du module ImageDraw.
– La fonction "draw.rectangle" prend comme arguments les coordonnées des coins supérieur gauche et inférieur droit du rectangle.
3. Ajoutez le texte d'affichage à l'image :
– Créez une autre instance du module ImageDraw.
– Parcourez les sommets de chaque objet et ajoutez le texte d'affichage à l'aide de la fonction "draw.text" du module ImageDraw.
– La fonction "draw.text" prend comme arguments les coordonnées de la position du texte et de la chaîne de texte.
– Vous pouvez personnaliser la police, la taille, la couleur et d'autres propriétés du texte en spécifiant des paramètres supplémentaires dans la fonction « draw.text ».
Voici un exemple d'extrait de code qui illustre le processus décrit ci-dessus :
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")
Dans cet exemple, nous supposons que les sommets des objets ont déjà été obtenus depuis l'API Google Vision. Nous chargeons ensuite l'image à l'aide de la bibliothèque Pillow, dessinons les bordures de l'objet à l'aide des sommets et ajoutons du texte d'affichage au-dessus de chaque objet.
N'oubliez pas d'ajuster le code en fonction de vos besoins spécifiques, tels que la police, la taille de la police et la couleur du texte.
D'autres questions et réponses récentes concernant Dessin de bordures d'objet à l'aide de la bibliothèque Python Pill:
- Quels sont les paramètres de la méthode « draw.line » dans le code fourni, et comment sont-ils utilisés pour tracer des lignes entre les valeurs des sommets ?
- Comment la bibliothèque d'oreillers peut-elle être utilisée pour dessiner des bordures d'objets en Python ?
- Quel est le but de la fonction « draw_vertices » dans le code fourni ?
- Comment l'API Google Vision peut-elle aider à comprendre les formes et les objets d'une image ?
Plus de questions et réponses :
- Champ: Intelligence artificielle
- Programme: API Google Vision EITC/AI/GVAPI (accéder au programme de certification)
- Leçon: Comprendre les formes et les objets (aller à la leçon correspondante)
- Topic: Dessin de bordures d'objet à l'aide de la bibliothèque Python Pill (aller au sujet connexe)
- Révision de l'examen