Каб візуальна ідэнтыфікаваць і вылучыць выяўленыя аб'екты на малюнку з дапамогай бібліятэкі Pillow, мы можам прытрымлівацца пакрокавага працэсу. Бібліятэка Pillow - гэта магутная бібліятэка малюнкаў Python, якая забяспечвае шырокі спектр магчымасцей апрацоўкі малюнкаў. Аб'яднаўшы магчымасці бібліятэкі Pillow з функцыянальнасцю выяўлення аб'ектаў Google Vision API, мы можам эфектыўна вырашыць гэтую задачу.
Вось крокі для візуальнай ідэнтыфікацыі і вылучэння выяўленых аб'ектаў на малюнку з дапамогай бібліятэкі Pillow:
1. Усталюйце неабходныя бібліятэкі: пачніце з усталёўкі неабходных бібліятэк. Усталюйце Pillow з дапамогай каманды `pip install pillow`. Акрамя таго, вам трэба будзе наладзіць API Google Vision і ўсталяваць кліенцкую бібліятэку Google Cloud для Python.
2. Праверце сапраўднасць з дапамогай Google Vision API: Каб выкарыстоўваць Google Vision API, вам неабходна прайсці аўтэнтыфікацыю вашага прыкладання. Выконвайце дакументацыю, прадстаўленую Google, каб атрымаць неабходныя ўліковыя даныя.
3. Загрузіце і прааналізуйце выяву: выкарыстоўвайце бібліятэку Pillow, каб загрузіць выяву, якую хочаце прааналізаваць. Вы можаце выкарыстоўваць метад `Image.open()`, каб адкрыць файл выявы. Пасля загрузкі выявы пераўтварыце яе ў фармат, сумяшчальны з Google Vision API, напрыклад JPEG або PNG.
4. Адпраўце выяву ў API Google Vision: выкарыстоўвайце кліенцкую бібліятэку Google Cloud для Python, каб адправіць выяву ў API Google Vision для выяўлення аб'ектаў. Гэта можна зрабіць, стварыўшы аб'ект запыту з дадзенымі відарыса і выклікаўшы адпаведны метад, напрыклад `image_annotator_client.object_localization().annotate_image()`.
5. Атрымайце вынікі выяўлення аб'екта: вылучыце вынікі выяўлення аб'екта з адказу, атрыманага ад Google Vision API. Адказ будзе змяшчаць інфармацыю пра выяўленыя аб'екты, такія як іх абмежавальныя рамкі, этыкеткі і балы даверу.
6. Намалюйце абмежавальныя рамкі на малюнку: выкарыстоўвайце бібліятэку Pillow, каб намаляваць абмежавальныя рамкі вакол выяўленых аб'ектаў на выяве. Вы можаце выкарыстоўваць метад `ImageDraw.Draw()`, каб стварыць аб'ект малюнка, а затым выкарыстоўваць метад `draw.rectangle()`, каб намаляваць абмежавальныя рамкі.
7. Дадайце цэтлікі і адзнакі да выявы: каб палепшыць візуалізацыю, вы можаце дадаць да выявы этыкеткі і адзнакі даверу. Скарыстайцеся метадам `draw.text()` з бібліятэкі Pillow, каб накласці цэтлікі і балы на малюнак.
8. Захавайце і пакажыце анатаваны відарыс: захавайце анатаваны відарыс з дапамогай метаду `Image.save()` з бібліятэкі Pillow. Вы можаце выбраць патрэбны фармат, напрыклад JPEG або PNG. Пры жаданні пакажыце анатаваны відарыс з дапамогай метаду `Image.show()`.
Выконваючы гэтыя крокі, вы можаце візуальна ідэнтыфікаваць і вылучаць выяўленыя аб'екты на малюнку з дапамогай бібліятэкі Pillow. Камбінацыя магутных магчымасцей апрацоўкі малюнкаў Pillow і функцыі выяўлення аб'ектаў Google Vision API дазваляе эфектыўна і дакладна аналізаваць выявы.
прыклад:
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()
У гэтым прыкладзе мы спачатку загружаем і аналізуем малюнак з дапамогай бібліятэкі Pillow. Затым мы правяраем сапраўднасць з дапамогай Google Vision API і адпраўляем малюнак для выяўлення аб'екта. Мы атрымліваем вынікі выяўлення аб'ектаў і выкарыстоўваем бібліятэку Pillow, каб намаляваць абмежавальныя рамкі вакол выяўленых аб'ектаў на малюнку. Акрамя таго, мы дадаем этыкеткі і балы даверу да выявы. Нарэшце, мы захоўваем і паказваем анатаваны малюнак.
Іншыя апошнія пытанні і адказы адносна Пашыранае разуменне малюнкаў:
- Якія прадвызначаныя катэгорыі для распазнавання аб'ектаў у Google Vision API?
- Які рэкамендаваны падыход для выкарыстання функцыі выяўлення бяспечнага пошуку ў спалучэнні з іншымі метадамі мадэрацыі?
- Як мы можам атрымаць доступ і адлюстраваць значэнні імавернасці для кожнай катэгорыі ў анатацыі бяспечнага пошуку?
- Як мы можам атрымаць анатацыю бяспечнага пошуку з дапамогай API Google Vision у Python?
- Якія пяць катэгорый уключае функцыя выяўлення бяспечнага пошуку?
- Як функцыя бяспечнага пошуку Google Vision API выяўляе нецэнзурнае змесціва на выявах?
- Як мы можам арганізаваць здабытую інфармацыю аб аб'екце ў таблічным фармаце, выкарыстоўваючы фрэйм дадзеных pandas?
- Як мы можам атрымаць усе анатацыі аб'екта з адказу API?
- Якія бібліятэкі і мовы праграмавання выкарыстоўваюцца для дэманстрацыі функцыянальнасці API Google Vision?
- Як API Google Vision выконвае выяўленне і лакалізацыю аб'ектаў у малюнках?
Больш пытанняў і адказаў глядзіце ў раздзеле "Пашыранае разуменне малюнкаў".