Ak chcete vizuálne identifikovať a zvýrazniť detekované objekty na obrázku pomocou knižnice Pillow, môžeme postupovať krok za krokom. Knižnica Pillow je výkonná zobrazovacia knižnica Pythonu, ktorá poskytuje širokú škálu možností spracovania obrázkov. Kombináciou možností knižnice Pillow s funkciou detekcie objektov Google Vision API môžeme túto úlohu dosiahnuť efektívne.
Tu sú kroky na vizuálnu identifikáciu a zvýraznenie detekovaných objektov na obrázku pomocou knižnice Pillow:
1. Nainštalujte potrebné knižnice: Začnite inštaláciou požadovaných knižníc. Nainštalujte vankúš pomocou príkazu `pip install vankúš`. Okrem toho budete musieť nastaviť Google Vision API a nainštalovať knižnicu klienta Google Cloud pre Python.
2. Autentifikácia pomocou Google Vision API: Ak chcete používať Google Vision API, musíte svoju aplikáciu overiť. Ak chcete získať potrebné poverenia, postupujte podľa dokumentácie poskytnutej spoločnosťou Google.
3. Načítajte a analyzujte obrázok: Pomocou knižnice Pillow načítajte obrázok, ktorý chcete analyzovať. Na otvorenie súboru s obrázkom môžete použiť metódu `Image.open()`. Po načítaní obrázka ho skonvertujte do formátu kompatibilného s rozhraním Google Vision API, ako je JPEG alebo PNG.
4. Odošlite obrázok do rozhrania Google Vision API: Pomocou klientskej knižnice Google Cloud pre Python odošlite obrázok do rozhrania Google Vision API na detekciu objektov. Dá sa to urobiť vytvorením objektu požiadavky s obrazovými dátami a zavolaním vhodnej metódy, ako napríklad `image_annotator_client.object_localization().annotate_image()`.
5. Získanie výsledkov detekcie objektu: Extrahujte výsledky detekcie objektu z odpovede prijatej z Google Vision API. Odpoveď bude obsahovať informácie o zistených objektoch, ako sú ich ohraničujúce rámčeky, štítky a skóre spoľahlivosti.
6. Nakreslite ohraničovacie rámčeky na obrázok: Pomocou knižnice Vankúš nakreslite ohraničovacie rámčeky okolo zistených objektov na obrázku. Na vytvorenie objektu kreslenia môžete použiť metódu `ImageDraw.Draw()` a potom použiť metódu `draw.rectangle()` na nakreslenie ohraničujúcich rámčekov.
7. Pridajte k obrázku štítky a skóre: Ak chcete zlepšiť vizualizáciu, môžete k obrázku pridať štítky a skóre spoľahlivosti. Na prekrytie štítkov a skóre na obrázku použite metódu `draw.text()` z knižnice Pillow.
8. Uložte a zobrazte anotovaný obrázok: Uložte anotovaný obrázok pomocou metódy `Image.save()` z knižnice Pillow. Môžete si vybrať požadovaný formát, napríklad JPEG alebo PNG. Voliteľne zobrazte anotovaný obrázok pomocou metódy `Image.show()`.
Podľa týchto krokov môžete vizuálne identifikovať a zvýrazniť rozpoznané objekty na obrázku pomocou knižnice Pillow. Kombinácia výkonných možností spracovania obrazu Pillow a funkcie detekcie objektov rozhrania Google Vision API umožňuje efektívnu a presnú analýzu obrázkov.
Príklad:
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()
V tomto príklade najprv načítame a analyzujeme obrázok pomocou knižnice Pillow. Potom sa overíme pomocou rozhrania Google Vision API a odošleme obrázok na detekciu objektu. Získame výsledky detekcie objektov a pomocou knižnice Pillow nakreslíme ohraničujúce rámčeky okolo zistených objektov na obrázku. Okrem toho k obrázku pridávame štítky a skóre spoľahlivosti. Nakoniec uložíme a zobrazíme anotovaný obrázok.
Ďalšie nedávne otázky a odpovede týkajúce sa Pokročilé porozumenie obrázkov:
- Aké sú niektoré preddefinované kategórie na rozpoznávanie objektov v rozhraní Google Vision API?
- Aký je odporúčaný prístup na používanie funkcie detekcie bezpečného vyhľadávania v kombinácii s inými technikami moderovania?
- Ako môžeme získať a zobraziť hodnoty pravdepodobnosti pre každú kategóriu v anotácii bezpečného vyhľadávania?
- Ako môžeme získať anotáciu bezpečného vyhľadávania pomocou Google Vision API v Pythone?
- Akých päť kategórií zahŕňa funkcia detekcie bezpečného vyhľadávania?
- Ako rozpozná funkcia bezpečného vyhľadávania Google Vision API explicitný obsah v obrázkoch?
- Ako môžeme usporiadať extrahované informácie o objekte do tabuľkového formátu pomocou dátového rámca pandy?
- Ako môžeme extrahovať všetky anotácie objektu z odpovede API?
- Aké knižnice a programovací jazyk sa používajú na demonštráciu funkčnosti rozhrania Google Vision API?
- Ako rozhranie Google Vision API vykonáva detekciu a lokalizáciu objektov v obrázkoch?
Pozrite si ďalšie otázky a odpovede v časti Rozšírené porozumenie obrázkov