Per identificar i ressaltar visualment els objectes detectats en una imatge mitjançant la biblioteca Pillow, podem seguir un procés pas a pas. La biblioteca Pillow és una poderosa biblioteca d'imatges de Python que ofereix una àmplia gamma de capacitats de processament d'imatges. En combinar les capacitats de la biblioteca Pillow amb la funcionalitat de detecció d'objectes de l'API de Google Vision, podem aconseguir aquesta tasca de manera eficient.
Aquests són els passos per identificar i ressaltar visualment els objectes detectats en una imatge mitjançant la biblioteca Pillow:
1. Instal·leu les biblioteques necessàries: comenceu instal·lant les biblioteques necessàries. Instal·leu Pillow mitjançant l'ordre `pip install pillow`. A més, haureu de configurar l'API de Google Vision i instal·lar la biblioteca de client de Google Cloud per a Python.
2. Autentiqueu-vos amb l'API de Google Vision: per utilitzar l'API de Google Vision, heu d'autenticar la vostra aplicació. Seguiu la documentació proporcionada per Google per obtenir les credencials necessàries.
3. Carregueu i analitzeu la imatge: feu servir la biblioteca Pillow per carregar la imatge que voleu analitzar. Podeu utilitzar el mètode `Image.open()` per obrir el fitxer d'imatge. Un cop carregada la imatge, convertiu-la a un format compatible amb l'API de Google Vision, com ara JPEG o PNG.
4. Envieu la imatge a l'API de Google Vision: feu servir la biblioteca de client de Google Cloud per a Python per enviar la imatge a l'API de Google Vision per a la detecció d'objectes. Això es pot fer creant un objecte de sol·licitud amb les dades de la imatge i cridant al mètode adequat, com ara `image_annotator_client.object_localization().annotate_image()`.
5. Recuperar els resultats de la detecció d'objectes: extreu els resultats de la detecció d'objectes de la resposta rebuda de l'API de Google Vision. La resposta contindrà informació sobre els objectes detectats, com ara els seus quadres delimitadors, etiquetes i puntuacions de confiança.
6. Dibuixa quadres delimitadors a la imatge: fes servir la biblioteca Pillow per dibuixar quadres delimitadors al voltant dels objectes detectats a la imatge. Podeu utilitzar el mètode `ImageDraw.Draw()` per crear un objecte de dibuix, i després utilitzar el mètode `draw.rectangle()` per dibuixar els quadres delimitadors.
7. Afegiu etiquetes i puntuacions a la imatge: per millorar la visualització, podeu afegir etiquetes i puntuacions de confiança a la imatge. Utilitzeu el mètode `draw.text()` de la biblioteca Pillow per superposar les etiquetes i les puntuacions a la imatge.
8. Desa i mostra la imatge anotada: desa la imatge anotada utilitzant el mètode `Image.save()` de la biblioteca Pillow. Podeu triar el format desitjat, com ara JPEG o PNG. Opcionalment, visualitzeu la imatge anotada mitjançant el mètode `Image.show()`.
Seguint aquests passos, podeu identificar i ressaltar visualment els objectes detectats en una imatge mitjançant la biblioteca Pillow. La combinació de les potents capacitats de processament d'imatges de Pillow i la funcionalitat de detecció d'objectes de l'API de Google Vision permet una anàlisi eficient i precisa de les imatges.
Exemple:
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()
En aquest exemple, primer carreguem i analitzem la imatge mitjançant la biblioteca Pillow. A continuació, ens autentiquem amb l'API de Google Vision i enviem la imatge per a la detecció d'objectes. Recuperem els resultats de la detecció d'objectes i fem servir la biblioteca Pillow per dibuixar quadres delimitadors al voltant dels objectes detectats a la imatge. A més, afegim etiquetes i puntuacions de confiança a la imatge. Finalment, desem i mostrem la imatge anotada.
Altres preguntes i respostes recents sobre Comprensió avançada d’imatges:
- Quines són algunes de les categories predefinides per al reconeixement d'objectes a l'API de Google Vision?
- Quin és l'enfocament recomanat per utilitzar la funció de detecció de cerca segura en combinació amb altres tècniques de moderació?
- Com podem accedir i mostrar els valors de probabilitat de cada categoria a l'anotació de cerca segura?
- Com podem obtenir l'anotació de cerca segura mitjançant l'API de Google Vision a Python?
- Quines són les cinc categories incloses a la funció de detecció de cerca segura?
- Com detecta la funció de cerca segura de l'API de Google Vision contingut explícit a les imatges?
- Com podem organitzar la informació de l'objecte extret en un format tabular mitjançant el marc de dades pandas?
- Com podem extreure totes les anotacions d'objectes de la resposta de l'API?
- Quines biblioteques i llenguatge de programació s'utilitzen per demostrar la funcionalitat de l'API de Google Vision?
- Com realitza l'API de Google Vision la detecció i localització d'objectes a les imatges?
Vegeu més preguntes i respostes a Comprensió avançada d'imatges