Norėdami vizualiai atpažinti ir paryškinti aptiktus objektus vaizde naudodami pagalvės biblioteką, galime sekti nuoseklų procesą. „Pillow“ biblioteka yra galinga „Python“ vaizdų biblioteka, teikianti daugybę vaizdo apdorojimo galimybių. Sujungę „Pillow“ bibliotekos galimybes su „Google Vision“ API objektų aptikimo funkcija, galime efektyviai atlikti šią užduotį.
Štai veiksmai, kaip vizualiai identifikuoti ir paryškinti aptiktus objektus vaizde naudojant pagalvės biblioteką:
1. Įdiekite reikiamas bibliotekas: Pradėkite diegdami reikiamas bibliotekas. Įdiekite pagalvę naudodami komandą „pip install pagalvę“. Be to, turėsite nustatyti „Google Vision“ API ir įdiegti „Google Cloud“ kliento biblioteką, skirtą „Python“.
2. Autentifikuokite naudodami „Google Vision“ API: norėdami naudoti „Google Vision“ API, turite patvirtinti savo programos tapatybę. Vadovaukitės „Google“ pateiktais dokumentais, kad gautumėte reikiamus kredencialus.
3. Įkelkite ir analizuokite vaizdą: naudokite pagalvės biblioteką, kad įkeltumėte vaizdą, kurį norite analizuoti. Norėdami atidaryti vaizdo failą, galite naudoti metodą „Image.open()“. Kai vaizdas bus įkeltas, konvertuokite jį į formatą, suderinamą su Google Vision API, pvz., JPEG arba PNG.
4. Nusiųskite vaizdą į „Google Vision“ API: naudokite „Google Cloud“ kliento biblioteką, skirtą „Python“, kad nusiųstumėte vaizdą į „Google Vision“ API ir aptiktų objektus. Tai galima padaryti sukuriant užklausos objektą su vaizdo duomenimis ir iškviečiant atitinkamą metodą, pvz., „image_annotator_client.object_localization().annotate_image()“.
5. Gaukite objekto aptikimo rezultatus: ištraukite objekto aptikimo rezultatus iš atsakymo, gauto iš Google Vision API. Atsakyme bus informacija apie aptiktus objektus, pvz., jų ribojančius langelius, etiketes ir patikimumo balus.
6. Nubrėžkite ribojančius langelius ant vaizdo: naudokite pagalvės biblioteką, kad nubrėžtumėte ribojančius langelius aplink aptiktus vaizdo objektus. Galite naudoti metodą „ImageDraw.Draw()“, kad sukurtumėte piešimo objektą, o tada naudokite metodą „draw.rectangle()“, kad nubrėžtumėte ribojančius langelius.
7. Pridėkite prie vaizdo etikečių ir balų: norėdami pagerinti vizualizaciją, prie vaizdo galite pridėti etikečių ir patikimumo balų. Naudokite „draw.text()“ metodą iš pagalvės bibliotekos, kad perdengtumėte vaizdo etiketes ir balus.
8. Išsaugokite ir parodykite anotuotą vaizdą: išsaugokite anotuotą vaizdą naudodami „Image.save()“ metodą iš pagalvės bibliotekos. Galite pasirinkti norimą formatą, pvz., JPEG arba PNG. Pasirinktinai galite rodyti anotuotą vaizdą naudodami „Image.show()“ metodą.
Atlikdami šiuos veiksmus, naudodami pagalvės biblioteką, galite vizualiai atpažinti ir paryškinti aptiktus objektus vaizde. Galingų Pillow vaizdo apdorojimo galimybių ir Google Vision API objektų aptikimo funkcijos derinys leidžia efektyviai ir tiksliai analizuoti vaizdus.
Pavyzdys:
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()
Šiame pavyzdyje pirmiausia įkeliame ir analizuojame vaizdą naudodami pagalvės biblioteką. Tada autentifikuojame naudodami „Google Vision“ API ir siunčiame vaizdą objekto aptikimui. Gauname objektų aptikimo rezultatus ir naudojame pagalvės biblioteką, kad aplink aptiktus objektus vaizde nubrėžtume ribojančius langelius. Be to, prie vaizdo pridedame etiketes ir patikimumo balus. Galiausiai išsaugome ir parodome anotuotą vaizdą.
Kiti naujausi klausimai ir atsakymai apie Pažangus vaizdų supratimas:
- Kokios yra iš anksto nustatytos objektų atpažinimo kategorijos „Google Vision“ API?
- Koks yra rekomenduojamas būdas naudoti saugios paieškos aptikimo funkciją kartu su kitais moderavimo būdais?
- Kaip saugios paieškos anotacijoje galime pasiekti ir parodyti kiekvienos kategorijos tikimybių reikšmes?
- Kaip galime gauti saugios paieškos anotaciją naudodami Python „Google Vision“ API?
- Kokios penkios kategorijos įtrauktos į saugios paieškos aptikimo funkciją?
- Kaip „Google Vision“ API saugios paieškos funkcija aptinka nepadorų turinį vaizduose?
- Kaip galime sutvarkyti ištrauktą objekto informaciją lentelės formatu, naudojant pandų duomenų rėmelį?
- Kaip galime iš API atsakymo išgauti visas objekto anotacijas?
- Kokios bibliotekos ir programavimo kalba naudojamos Google Vision API funkcionalumui parodyti?
- Kaip „Google Vision“ API atlieka objektų aptikimą ir lokalizavimą vaizduose?
Peržiūrėkite daugiau klausimų ir atsakymų skyriuje Išplėstinis vaizdų supratimas