Каб дадаць адлюстраваны тэкст да выявы пры маляванні межаў аб'екта з дапамогай функцыі "draw_vertices" у бібліятэцы Pillow Python, мы можам прытрымлівацца пакрокавага працэсу. Гэты працэс уключае атрыманне вяршыняў выяўленых аб'ектаў з Google Vision API, маляванне межаў аб'ектаў з дапамогай вяршыняў і, нарэшце, даданне адлюстраванага тэксту да выявы.
1. Атрымаць вяршыні выяўленых аб'ектаў:
– Выкарыстоўвайце API Google Vision для выяўлення аб'ектаў на малюнку.
– Выняць вяршыні кожнага выяўленага аб'екта з адказу API. Вершыні ўяўляюць сабой чатыры вуглы абмежавальнай рамкі, якая атачае аб'ект.
2. Намалюйце межы аб'екта, выкарыстоўваючы вяршыні:
– Загрузіце выяву з дапамогай бібліятэкі Pillow у Python.
– Стварыце асобнік модуля ImageDraw з бібліятэкі Pillow.
– Прайдзіце па вяршынях кожнага аб'екта і намалюйце прамавугольнік з дапамогай функцыі "draw.rectangle" з модуля ImageDraw.
– Функцыя "draw.rectangle" прымае ў якасці аргументаў каардынаты верхняга левага і ніжняга правага кутоў прамавугольніка.
3. Дадайце адлюстраваны тэкст да выявы:
– Стварыце яшчэ адзін асобнік модуля ImageDraw.
– Перабірайце вяршыні кожнага аб'екта і дадавайце адлюстраваны тэкст з дапамогай функцыі "draw.text" з модуля ImageDraw.
– Функцыя "draw.text" прымае ў якасці аргументаў каардынаты пазіцыі тэксту і тэкставы радок.
– Вы можаце наладзіць шрыфт, памер, колер і іншыя ўласцівасці тэксту, указаўшы дадатковыя параметры ў функцыі "draw.text".
Вось прыклад фрагмента кода, які дэманструе працэс, апісаны вышэй:
python from PIL import Image, ImageDraw, ImageFont # Step 1: Retrieve the vertices of the detected objects # (Assuming you have already obtained the vertices from the Google Vision API) vertices = [ [(100, 100), (200, 100), (200, 200), (100, 200)], # Example vertices of object 1 [(300, 150), (400, 150), (400, 250), (300, 250)] # Example vertices of object 2 ] # Step 2: Draw object borders using the vertices image = Image.open("input_image.jpg") draw = ImageDraw.Draw(image) for vertex in vertices: draw.rectangle(vertex, outline="red") # Step 3: Add display text to the image font = ImageFont.truetype("arial.ttf", 12) text_draw = ImageDraw.Draw(image) for i, vertex in enumerate(vertices): text_position = vertex[0][0], vertex[0][1] - 20 text_draw.text(text_position, f"Object {i+1}", font=font, fill="red") # Save the modified image image.save("output_image.jpg")
У гэтым прыкладзе мы мяркуем, што вяршыні аб'ектаў ужо былі атрыманы з API Google Vision. Затым мы загружаем выяву з дапамогай бібліятэкі Pillow, малюем межы аб'екта з дапамогай вяршынь і дадаем адлюстраваны тэкст над кожным аб'ектам.
Не забудзьцеся наладзіць код у адпаведнасці з вашымі патрабаваннямі, такімі як шрыфт, памер шрыфта і колер тэксту.
Іншыя апошнія пытанні і адказы адносна Маляванне межаў аб'екта пры дапамозе бібліятэкі пітона-падушкі:
- Якія параметры метаду "draw.line" у прадстаўленым кодзе і як яны выкарыстоўваюцца для малявання ліній паміж значэннямі вяршыняў?
- Як можна выкарыстоўваць бібліятэку падушкі для малявання межаў аб'ектаў у Python?
- Якая мэта функцыі "draw_vertices" у прадстаўленым кодзе?
- Як Google Vision API можа дапамагчы зразумець формы і аб'екты на малюнку?