Tunnistaaksemme ja korostaaksemme havaitut kohteet kuvassa visuaalisesti Pillow-kirjaston avulla voimme seurata vaiheittaista prosessia. Pillow-kirjasto on tehokas Python-kuvakirjasto, joka tarjoaa laajan valikoiman kuvankäsittelyominaisuuksia. Yhdistämällä Pillow-kirjaston ominaisuudet Google Vision API:n objektintunnistustoimintoihin voimme suorittaa tämän tehtävän tehokkaasti.
Tässä on vaiheet, joiden avulla voit visuaalisesti tunnistaa ja korostaa havaitut kohteet kuvassa käyttämällä Pillow-kirjastoa:
1. Asenna tarvittavat kirjastot: Aloita asentamalla tarvittavat kirjastot. Asenna Pillow komennolla "pip install pillow". Lisäksi sinun on määritettävä Google Vision API ja asennettava Google Cloud -asiakaskirjasto Pythonille.
2. Todennus Google Vision -sovellusliittymällä: Jotta voit käyttää Google Vision -sovellusliittymää, sinun on todennettava sovelluksesi. Noudata Googlen toimittamia asiakirjoja saadaksesi tarvittavat kirjautumistiedot.
3. Lataa ja analysoi kuva: Lataa analysoitava kuva Pillow-kirjastosta. Voit avata kuvatiedoston käyttämällä `Image.open()-menetelmää. Kun kuva on ladattu, muunna se Google Vision API:n kanssa yhteensopivaan muotoon, kuten JPEG tai PNG.
4. Lähetä kuva Google Vision API:lle: Käytä Pythonin Google Cloud -asiakaskirjastoa lähettääksesi kuvan Google Vision API:lle objektien havaitsemista varten. Tämä voidaan tehdä luomalla pyyntöobjekti kuvatiedoilla ja kutsumalla sopivaa menetelmää, kuten "image_annotator_client.object_localization().annotate_image()".
5. Hae objektin tunnistustulokset: Pura objektien tunnistustulokset Google Vision API:lta saadusta vastauksesta. Vastaus sisältää tietoja havaituista objekteista, kuten niiden rajauslaatikot, tarrat ja luottamuspisteet.
6. Piirrä kuvaan rajoitusruudut: Käytä Pillow-kirjastoa piirtääksesi rajoituslaatikoita kuvassa havaittujen kohteiden ympärille. Voit käyttää "ImageDraw.Draw()"-menetelmää piirustusobjektin luomiseen ja sitten käyttää "draw.rectangle()"-menetelmää rajoituslaatikoiden piirtämiseen.
7. Lisää kuvaan tarroja ja pisteitä: Voit parantaa visualisointia lisäämällä kuvaan tarroja ja luotettavuuspisteitä. Käytä 'draw.text()'-menetelmää Pillow-kirjastosta tarrojen ja pisteytyksen peittämiseen kuvan päälle.
8. Tallenna ja näytä huomautettu kuva: Tallenna huomautettu kuva käyttämällä 'Image.save()-menetelmää Pillow-kirjastosta. Voit valita haluamasi muodon, kuten JPEG tai PNG. Vaihtoehtoisesti voit näyttää merkinnällä varustettua kuvaa käyttämällä "Image.show()"-menetelmää.
Seuraamalla näitä vaiheita voit visuaalisesti tunnistaa ja korostaa havaitut kohteet kuvassa käyttämällä Pillow-kirjastoa. Pillowin tehokkaiden kuvankäsittelyominaisuuksien ja Google Vision API:n objektintunnistustoiminnon yhdistelmä mahdollistaa tehokkaan ja tarkan kuvien analyysin.
Esimerkiksi:
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()
Tässä esimerkissä lataamme ja analysoimme ensin kuvan Pillow-kirjaston avulla. Tämän jälkeen todennamme Google Vision API:lla ja lähetämme kuvan kohteen havaitsemista varten. Haemme kohteen tunnistustulokset ja käytämme Pillow-kirjastoa piirtämään rajauslaatikoita havaittujen kohteiden ympärille kuvassa. Lisäksi lisäämme kuvaan tunnisteita ja luottamuspisteitä. Lopuksi tallennamme ja näytämme selitetyn kuvan.
Muita viimeaikaisia kysymyksiä ja vastauksia liittyen Edistynyt kuvien ymmärtäminen:
- Mitä ennalta määritettyjä luokkia on Google Vision API:n objektien tunnistukseen?
- Mikä on suositeltava tapa käyttää turvallisen haun tunnistusominaisuutta yhdessä muiden valvontatekniikoiden kanssa?
- Kuinka voimme käyttää ja näyttää kunkin luokan todennäköisyysarvot turvallisen haun merkinnässä?
- Kuinka saamme turvallisen haun merkinnän käyttämällä Pythonin Google Vision -sovellusliittymää?
- Mitkä viisi luokkaa sisältävät turvallisen haun tunnistusominaisuuden?
- Miten Google Vision -sovellusliittymän turvallinen hakuominaisuus havaitsee kuvista avoimen sisällön?
- Kuinka voimme järjestää poimitut objektitiedot taulukkomuotoon panda-tietokehyksen avulla?
- Kuinka voimme poimia kaikki objektimerkinnät API:n vastauksesta?
- Mitä kirjastoja ja ohjelmointikieltä käytetään Google Vision API:n toimivuuden osoittamiseen?
- Miten Google Vision -sovellusliittymä suorittaa kohteiden havaitsemisen ja lokalisoinnin kuvissa?
Katso lisää kysymyksiä ja vastauksia osiossa Kehittynyt kuvien ymmärtäminen