Kako bismo vizualno identificirali i istaknuli otkrivene objekte na slici pomoću biblioteke Pillow, možemo slijediti postupak korak po korak. Biblioteka Pillow moćna je Python knjižnica slika koja pruža širok raspon mogućnosti obrade slika. Kombinirajući mogućnosti biblioteke Pillow s funkcijom otkrivanja objekata Google Vision API-ja, možemo učinkovito izvršiti ovaj zadatak.
Evo koraka za vizualno prepoznavanje i isticanje otkrivenih objekata na slici pomoću biblioteke Pillow:
1. Instalirajte potrebne biblioteke: Započnite instaliranjem potrebnih biblioteka. Instalirajte Pillow pomoću naredbe `pip install pillow`. Osim toga, morat ćete postaviti Google Vision API i instalirati Google Cloud klijentsku biblioteku za Python.
2. Autentifikacija s Google Vision API-jem: Za korištenje Google Vision API-ja morate autentificirati svoju aplikaciju. Slijedite dokumentaciju koju pruža Google da biste dobili potrebne vjerodajnice.
3. Učitajte i analizirajte sliku: upotrijebite biblioteku Pillow za učitavanje slike koju želite analizirati. Za otvaranje slikovne datoteke možete koristiti metodu `Image.open()`. Nakon što se slika učita, pretvorite je u format kompatibilan s Google Vision API-jem, poput JPEG ili PNG.
4. Pošaljite sliku Google Vision API-ju: upotrijebite Google Cloud klijentsku biblioteku za Python za slanje slike Google Vision API-ju za otkrivanje objekta. To se može učiniti stvaranjem objekta zahtjeva sa slikovnim podacima i pozivanjem odgovarajuće metode, kao što je `image_annotator_client.object_localization().annotate_image()`.
5. Dohvatite rezultate detekcije objekta: Ekstrahirajte rezultate detekcije objekta 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 Pillow za crtanje graničnih okvira oko otkrivenih objekata na slici. Možete upotrijebiti metodu `ImageDraw.Draw()` za stvaranje objekta za crtanje, a zatim upotrijebiti metodu `draw.rectangle()` za crtanje graničnih okvira.
7. Dodajte oznake i rezultate na sliku: Kako biste poboljšali vizualizaciju, možete dodati oznake i rezultate pouzdanosti na sliku. Upotrijebite metodu `draw.text()` iz biblioteke Pillow za prekrivanje oznaka i rezultata na slici.
8. Spremite i prikažite označenu sliku: Spremite označenu sliku pomoću metode `Image.save()` iz knjižnice Pillow. Možete odabrati željeni format, poput JPEG ili PNG. Po želji, prikažite označenu sliku pomoću metode `Image.show()`.
Prateći ove korake, možete vizualno identificirati i istaknuti otkrivene objekte na slici pomoću biblioteke Pillow. Kombinacija snažnih mogućnosti obrade slike Pillowa i funkcije otkrivanja objekata Google Vision API-ja omogućuje učinkovitu i toč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 autentificiramo s Google Vision API-jem i šaljemo sliku za otkrivanje objekta. Dohvaćamo rezultate detekcije objekata i koristimo biblioteku Pillow za crtanje graničnih okvira oko otkrivenih objekata na slici. Osim toga, slici dodajemo oznake i rezultate pouzdanosti. Na kraju spremamo i prikazujemo označenu sliku.
Ostala nedavna pitanja i odgovori u vezi Napredno razumijevanje slika:
- Koje su unaprijed definirane kategorije za prepoznavanje objekata u Google Vision API-ju?
- Koji je preporučeni pristup za korištenje značajke otkrivanja sigurnog pretraživanja u kombinaciji s drugim tehnikama moderiranja?
- Kako možemo pristupiti i prikazati vrijednosti vjerojatnosti za svaku kategoriju u napomeni sigurnog pretraživanja?
- Kako možemo dobiti napomenu o sigurnom pretraživanju koristeći Google Vision API u Pythonu?
- Kojih je pet kategorija uključeno u značajku otkrivanja sigurnog pretraživanja?
- Kako značajka 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 podatkovni okvir pandas?
- Kako možemo izdvojiti sve bilješke objekta iz odgovora API-ja?
- Koje se biblioteke i programski jezik koriste za demonstraciju funkcionalnosti Google Vision API-ja?
- Kako Google Vision API izvodi otkrivanje objekata i lokalizaciju u slikama?
Više pitanja i odgovora pogledajte u Naprednom razumijevanju slika