Da bismo vizuelno identifikovali i istakli otkrivene objekte na slici koristeći biblioteku jastuka, možemo pratiti proces korak po korak. Biblioteka Pillow je moćna Python biblioteka slika koja pruža širok spektar mogućnosti obrade slika. Kombinovanjem mogućnosti biblioteke jastuka sa funkcijom detekcije objekata Google Vision API-ja, možemo efikasno da postignemo ovaj zadatak.
Evo koraka za vizuelnu identifikaciju i isticanje otkrivenih objekata na slici pomoću biblioteke jastuka:
1. Instalirajte potrebne biblioteke: Počnite instaliranjem potrebnih biblioteka. Instalirajte jastuk koristeći naredbu `pip install pillow`. Osim toga, morat ćete postaviti Google Vision API i instalirati Google Cloud klijent biblioteku za Python.
2. Autentifikacija pomoću Google Vision API-ja: Da biste koristili Google Vision API, potrebno je da potvrdite autentičnost svoje aplikacije. Slijedite dokumentaciju koju pruža Google da dobijete potrebne vjerodajnice.
3. Učitajte i analizirajte sliku: Koristite biblioteku jastuka da učitate sliku koju želite analizirati. Možete koristiti metodu `Image.open()` da otvorite datoteku slike. Kada se slika učita, konvertujte je u format kompatibilan sa Google Vision API-jem, kao što je JPEG ili PNG.
4. Pošaljite sliku Google Vision API-ju: Koristite klijentsku biblioteku Google Cloud za Python da pošaljete sliku Google Vision API-ju za otkrivanje objekata. Ovo se može učiniti kreiranjem objekta zahtjeva sa podacima slike i pozivanjem odgovarajuće metode, kao što je `image_annotator_client.object_localization().annotate_image()`.
5. Dohvatite rezultate detekcije objekata: Izdvojite rezultate otkrivanja objekata iz odgovora primljenog od Google Vision API-ja. Odgovor će sadržavati informacije o otkrivenim objektima, kao što su njihovi granični okviri, oznake i rezultati pouzdanosti.
6. Nacrtajte granične okvire na slici: Koristite biblioteku jastuka da nacrtate granične okvire oko otkrivenih objekata na slici. Možete koristiti metodu `ImageDraw.Draw()` za kreiranje objekta za crtanje, a zatim koristiti metodu `draw.rectangle()` za crtanje graničnih okvira.
7. Dodajte oznake i rezultate na sliku: Da biste poboljšali vizualizaciju, možete dodati oznake i rezultate pouzdanosti na sliku. Koristite metodu `draw.text()` iz biblioteke jastuka za preklapanje oznaka i rezultata na slici.
8. Sačuvajte i prikažite sliku sa komentarima: Sačuvajte sliku sa komentarima pomoću metode `Image.save()` iz biblioteke jastuka. Možete odabrati željeni format, kao što je JPEG ili PNG. Opciono, prikažite označenu sliku koristeći metodu `Image.show()`.
Prateći ove korake, možete vizualno identificirati i istaknuti otkrivene objekte na slici pomoću biblioteke jastuka. Kombinacija moćnih mogućnosti obrade slika Pillow-a i funkcije detekcije objekata Google Vision API-ja omogućava efikasnu i tačnu analizu slika.
Primjer:
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()
U ovom primjeru prvo učitavamo i analiziramo sliku pomoću biblioteke Pillow. Zatim se autentifikujemo pomoću Google Vision API-ja i šaljemo sliku na detekciju objekta. Dohvaćamo rezultate detekcije objekata i koristimo biblioteku jastuka za crtanje graničnih okvira oko otkrivenih objekata na slici. Uz to, slici dodajemo oznake i ocjene pouzdanosti. Konačno, spremamo i prikazujemo označenu sliku.
Ostala nedavna pitanja i odgovori u vezi Napredno razumijevanje slika:
- Koje su neke unaprijed definirane kategorije za prepoznavanje objekata u Google Vision API-ju?
- Koji je preporučeni pristup za korištenje funkcije detekcije sigurnog pretraživanja u kombinaciji s drugim tehnikama moderiranja?
- Kako možemo pristupiti i prikazati vrijednosti vjerovatnoće za svaku kategoriju u napomeni za sigurno pretraživanje?
- Kako možemo dobiti napomenu o sigurnom pretraživanju koristeći Google Vision API u Pythonu?
- Kojih je pet kategorija uključenih u funkciju otkrivanja sigurnog pretraživanja?
- Kako funkcija sigurnog pretraživanja Google Vision API-ja otkriva eksplicitan sadržaj unutar slika?
- Kako možemo organizirati ekstrahirane informacije o objektu u tabelarnom formatu koristeći pandas okvir podataka?
- Kako možemo izdvojiti sve komentare objekata iz odgovora API-ja?
- Koje biblioteke i programski jezik se koriste za demonstraciju funkcionalnosti Google Vision API-ja?
- Kako Google Vision API otkriva objekte i lokalizaciju na slikama?
Pogledajte više pitanja i odgovora u Naprednom razumijevanju slika