Как закрасить маску изображением, полученным из многоугольника - PullRequest
0 голосов
/ 09 мая 2018

Я получаю маску из многоугольника, и ниже изображение. Теперь я вижу, что есть белая граница, но я хочу не только границу, но и внутреннюю границу как белую.

enter image description here

Вот мой код:

sar_polygon = Image.new('L', (int(range_samples), int(azimuth_lines)), 0) 
        draw = ImageDraw.Draw(sar_polygon)
        for vertex in range(len(sar_ver)):
            st = sar_ver[vertex]
            try:
                end = sar_ver[vertex + 1]
            except IndexError:
                end = sar_ver[0]
            draw.line((st[0], st[1], end[0], end[1]), fill=1)

sar_polygon.save('polygon.jpg', 'JPEG')

1 Ответ

0 голосов
/ 26 июля 2018

В настоящее время вы рисуете линии по краям. Вас интересует метод многоугольника или, возможно, метод прямоугольника - http://pillow.readthedocs.io/en/5.2.x/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.ImageDraw.polygon.

from PIL import Image, ImageDraw
sar_polygon = Image.new('RGB', (500, 500)) 
draw = ImageDraw.Draw(sar_polygon)
sar_ver = ((100,100),(200,100),(200,200),(100,200))
draw.polygon(sar_ver, fill='#f00')
sar_polygon.save('polygon.jpg', 'JPEG')
...