Pour identifier visuellement et mettre en évidence les objets détectés dans une image à l'aide de la bibliothèque Pillow, nous pouvons suivre un processus étape par étape. La bibliothèque Pillow est une puissante bibliothèque d'imagerie Python qui offre un large éventail de capacités de traitement d'image. En combinant les capacités de la bibliothèque Pillow avec la fonctionnalité de détection d'objets de l'API Google Vision, nous pouvons accomplir cette tâche efficacement.
Voici les étapes pour identifier visuellement et mettre en évidence les objets détectés dans une image à l'aide de la bibliothèque Pillow :
1. Installez les bibliothèques nécessaires : Commencez par installer les bibliothèques requises. Installez Pillow à l'aide de la commande « pip install Pillow ». De plus, vous devrez configurer l'API Google Vision et installer la bibliothèque client Google Cloud pour Python.
2. Authentifiez-vous avec l'API Google Vision : Pour utiliser l'API Google Vision, vous devez authentifier votre application. Suivez la documentation fournie par Google pour obtenir les informations d'identification nécessaires.
3. Chargez et analysez l'image : utilisez la bibliothèque Pillow pour charger l'image que vous souhaitez analyser. Vous pouvez utiliser la méthode `Image.open()` pour ouvrir le fichier image. Une fois l'image chargée, convertissez-la dans un format compatible avec l'API Google Vision, tel que JPEG ou PNG.
4. Envoyez l'image à l'API Google Vision : utilisez la bibliothèque client Google Cloud pour Python pour envoyer l'image à l'API Google Vision pour la détection d'objets. Cela peut être fait en créant un objet de requête avec les données de l'image et en appelant la méthode appropriée, telle que `image_annotator_client.object_localization().annotate_image()`.
5. Récupérez les résultats de détection d'objet : extrayez les résultats de détection d'objet de la réponse reçue de l'API Google Vision. La réponse contiendra des informations sur les objets détectés, telles que leurs cadres de délimitation, leurs étiquettes et leurs scores de confiance.
6. Dessinez des cadres de délimitation sur l'image : utilisez la bibliothèque Pillow pour dessiner des cadres de délimitation autour des objets détectés sur l'image. Vous pouvez utiliser la méthode `ImageDraw.Draw()` pour créer un objet de dessin, puis utiliser la méthode `draw.rectangle()` pour dessiner les cadres de délimitation.
7. Ajoutez des étiquettes et des scores à l'image : Pour améliorer la visualisation, vous pouvez ajouter des étiquettes et des scores de confiance à l'image. Utilisez la méthode `draw.text()` de la bibliothèque Pillow pour superposer les étiquettes et les scores sur l'image.
8. Enregistrez et affichez l'image annotée : Enregistrez l'image annotée à l'aide de la méthode `Image.save()` de la bibliothèque Pillow. Vous pouvez choisir le format souhaité, tel que JPEG ou PNG. Facultativement, affichez l'image annotée à l'aide de la méthode `Image.show()`.
En suivant ces étapes, vous pouvez identifier visuellement et mettre en évidence les objets détectés dans une image à l'aide de la bibliothèque Pillow. La combinaison des puissantes capacités de traitement d'image de Pillow et de la fonctionnalité de détection d'objets de l'API Google Vision permet une analyse efficace et précise des images.
Mise en situation :
python from PIL import Image, ImageDraw from google.cloud import vision # Load and analyze the image image_path = 'path/to/your/image.jpg' image = Image.open(image_path) image_data = image.tobytes() # Authenticate with the Google Vision API client = vision.ImageAnnotatorClient.from_service_account_json('path/to/your/credentials.json') # Send the image to the Google Vision API for object detection response = client.object_localization(image=vision.Image(content=image_data)) objects = response.localized_object_annotations # Draw bounding boxes on the image draw = ImageDraw.Draw(image) for obj in objects: bbox = obj.bounding_poly.normalized_vertices draw.rectangle([(bbox[0].x * image.width, bbox[0].y * image.height), (bbox[2].x * image.width, bbox[2].y * image.height)], outline='red', width=3) # Add labels and scores to the image label = obj.name score = obj.score draw.text((bbox[0].x * image.width, bbox[0].y * image.height - 15), f'{label} ({score:.2f})', fill='red') # Save and display the annotated image annotated_image_path = 'path/to/save/annotated_image.jpg' image.save(annotated_image_path) image.show()
Dans cet exemple, nous chargeons et analysons d’abord l’image à l’aide de la bibliothèque Pillow. Ensuite, nous nous authentifions avec l'API Google Vision et envoyons l'image pour la détection d'objets. Nous récupérons les résultats de détection d'objets et utilisons la bibliothèque Pillow pour dessiner des cadres de délimitation autour des objets détectés sur l'image. De plus, nous ajoutons des étiquettes et des scores de confiance à l’image. Enfin, nous sauvegardons et affichons l'image annotée.
D'autres questions et réponses récentes concernant Compréhension avancée des images:
- Quelles sont les catégories prédéfinies pour la reconnaissance d'objets dans l'API Google Vision ?
- Quelle est l’approche recommandée pour utiliser la fonctionnalité de détection de recherche sécurisée en combinaison avec d’autres techniques de modération ?
- Comment pouvons-nous accéder et afficher les valeurs de vraisemblance pour chaque catégorie dans l'annotation de recherche sécurisée ?
- Comment pouvons-nous obtenir l'annotation de recherche sécurisée à l'aide de l'API Google Vision en Python ?
- Quelles sont les cinq catégories incluses dans la fonction de détection de recherche sécurisée ?
- Comment la fonctionnalité de recherche sécurisée de l'API Google Vision détecte-t-elle le contenu explicite dans les images ?
- Comment pouvons-nous organiser les informations sur les objets extraits dans un format tabulaire à l'aide du bloc de données pandas ?
- Comment pouvons-nous extraire toutes les annotations d'objet de la réponse de l'API ?
- Quels bibliothèques et langage de programmation sont utilisés pour démontrer les fonctionnalités de l'API Google Vision ?
- Comment l'API Google Vision effectue-t-elle la détection et la localisation d'objets dans les images ?
Afficher plus de questions et de réponses dans Compréhension avancée des images