Pentru a identifica vizual și a evidenția obiectele detectate într-o imagine folosind biblioteca Pillow, putem urma un proces pas cu pas. Biblioteca Pillow este o bibliotecă puternică de imagini Python care oferă o gamă largă de capabilități de procesare a imaginilor. Combinând capacitățile bibliotecii Pillow cu funcționalitatea de detectare a obiectelor a API-ului Google Vision, putem realiza această sarcină eficient.
Iată pașii pentru a identifica vizual și a evidenția obiectele detectate într-o imagine folosind biblioteca Pillow:
1. Instalați bibliotecile necesare: Începeți prin a instala bibliotecile necesare. Instalați Pillow folosind comanda `pip install pillow`. În plus, va trebui să configurați API-ul Google Vision și să instalați biblioteca client Google Cloud pentru Python.
2. Autentificați-vă cu API-ul Google Vision: pentru a utiliza API-ul Google Vision, trebuie să vă autentificați aplicația. Urmați documentația furnizată de Google pentru a obține acreditările necesare.
3. Încărcați și analizați imaginea: utilizați biblioteca Pillow pentru a încărca imaginea pe care doriți să o analizați. Puteți folosi metoda `Image.open()` pentru a deschide fișierul imagine. Odată ce imaginea este încărcată, convertiți-o într-un format compatibil cu API-ul Google Vision, cum ar fi JPEG sau PNG.
4. Trimiteți imaginea către API-ul Google Vision: utilizați biblioteca client Google Cloud pentru Python pentru a trimite imaginea către API-ul Google Vision pentru detectarea obiectelor. Acest lucru se poate face prin crearea unui obiect de solicitare cu datele imaginii și apelând metoda adecvată, cum ar fi `image_annotator_client.object_localization().annotate_image()`.
5. Preluați rezultatele detectării obiectelor: extrageți rezultatele detectării obiectelor din răspunsul primit de la API-ul Google Vision. Răspunsul va conține informații despre obiectele detectate, cum ar fi căsuțele de delimitare, etichetele și scorurile de încredere ale acestora.
6. Desenați casete de delimitare pe imagine: utilizați biblioteca Pillow pentru a desena casete de delimitare în jurul obiectelor detectate pe imagine. Puteți folosi metoda `ImageDraw.Draw()` pentru a crea un obiect de desen și apoi utilizați metoda `draw.rectangle()` pentru a desena casetele de delimitare.
7. Adăugați etichete și scoruri la imagine: pentru a îmbunătăți vizualizarea, puteți adăuga etichete și scoruri de încredere imaginii. Utilizați metoda `draw.text()` din biblioteca Pillow pentru a suprapune etichetele și scorurile pe imagine.
8. Salvați și afișați imaginea adnotată: Salvați imaginea adnotată folosind metoda `Image.save()` din biblioteca Pillow. Puteți alege formatul dorit, cum ar fi JPEG sau PNG. Opțional, afișați imaginea adnotată folosind metoda `Image.show()`.
Urmând acești pași, puteți identifica și evidenția vizual obiectele detectate într-o imagine folosind biblioteca Pillow. Combinația dintre capabilitățile puternice de procesare a imaginii ale Pillow și funcționalitatea de detectare a obiectelor din API-ul Google Vision permite o analiză eficientă și precisă a imaginilor.
Exemplu:
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()
În acest exemplu, mai întâi încărcăm și analizăm imaginea folosind biblioteca Pillow. Apoi, ne autentificăm cu API-ul Google Vision și trimitem imaginea pentru detectarea obiectelor. Preluăm rezultatele detectării obiectelor și folosim biblioteca Pillow pentru a desena casete de delimitare în jurul obiectelor detectate de pe imagine. În plus, adăugăm imaginii etichete și scoruri de încredere. În cele din urmă, salvăm și afișăm imaginea adnotată.
Alte întrebări și răspunsuri recente cu privire la Înțelegere avansată a imaginilor:
- Care sunt câteva categorii predefinite pentru recunoașterea obiectelor în API-ul Google Vision?
- Care este abordarea recomandată pentru utilizarea funcției de detectare a căutării sigure în combinație cu alte tehnici de moderare?
- Cum putem accesa și afișa valorile de probabilitate pentru fiecare categorie în adnotarea de căutare sigură?
- Cum putem obține adnotarea căutării sigure folosind API-ul Google Vision în Python?
- Care sunt cele cinci categorii incluse în funcția de detectare a căutării sigure?
- Cum detectează funcția de căutare sigură a API-ului Google Vision conținutul explicit din imagini?
- Cum putem organiza informațiile despre obiectul extras într-un format tabelar folosind cadrul de date panda?
- Cum putem extrage toate adnotările obiectului din răspunsul API-ului?
- Ce biblioteci și limbaj de programare sunt folosite pentru a demonstra funcționalitatea API-ului Google Vision?
- Cum efectuează API-ul Google Vision detectarea și localizarea obiectelor în imagini?
Vedeți mai multe întrebări și răspunsuri în Înțelegerea avansată a imaginilor