Не удается удалить белую рамку при сохранении рисунка в python matplotlib? - PullRequest
0 голосов
/ 25 августа 2018

Я написал в Python одну вещь, которая принимает изображение в качестве входных данных и записывает выходные данные в виде тесселированной версии треугольника входного изображения. Например это изображение котенка:

enter image description here

превращается в это:

enter image description here

Но когда я пытаюсь сохранить изображение, я каким-то образом получаю белую рамку вокруг него, от которой, похоже, не могу избавиться.

Код, который заботится о сохранении изображения, выглядит следующим образом:

my_dpi=100
figSize = imageWidth / float(my_dpi), imageHeight / float(my_dpi)
fig = plt.figure(figsize=figSize)
ax = fig.add_axes([0, 0, 1, 1])
ax.invert_yaxis()
for triangle, eColor, fColor in zip(tris.simplices, triColors, triColors):
    p = Polygon([tris.points[i] for i in triangle], closed=True, facecolor=fColor, edgecolor=eColor)
    ax.add_patch(p)
ax.axis('tight')
ax.set_axis_off()
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
outfile_name = "%s-%s-%s.png" % (sys.argv[1].split('.')[0], str(tris.simplices.shape[0]), str(i))
fig.savefig(outfile_name, bbox_inches='tight', pad_inches=0, dpi=my_dpi)

tris - это всего лишь триангуляционный объект, полученный из модуля триангуляции Делоне Сципи. Я использую это, чтобы вычислить цвет каждого треугольника и добавить патч полигона для каждого треугольника в цикле for. Окончательный набор патчей записывается в изображение, когда рисунок сохраняется в файле. Из-за белого фона этого сайта вы, возможно, не сможете увидеть белую рамку, но если вы откроете ссылку на выходное изображение, белая граница там будет четко видна. Я перепробовал все, что мог придумать, но никак не мог избавиться от этой белой границы. Есть ли особый способ избавиться от него, если я сохраняю фигуру с помощью многоугольных патчей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...