Как убрать белую рамку с моей тепловой карты, используя python - PullRequest
0 голосов
/ 16 января 2019

Я сгенерировал 2000 тепловых карт, используя seaboard в python3. Проблема в том, что он также создает белую рамку. Я только хочу сохранить карту тепла. Я хочу удалить эти белые границы, потому что я хочу тренировать свою модель на основе этих тепловых карт, и я думаю, что наличие этих границ может испортить результат. Будут ли эти границы иметь значение, поскольку каждая тепловая карта будет иметь эту границу?

Код, который я написал для создания этих тепловых карт.

for i in range(len(h1)):
    ax = sns.heatmap(h1[i], yticklabels = False,xticklabels = False, cbar = False)
    fig = ax.get_figure()
    fig.savefig(path.join(outpath,"neutral_{0}.png".format(i)))

Фактическая тепловая карта enter image description here

Что я хочу: enter image description here

1 Ответ

0 голосов
/ 16 января 2019

Если у вас действительно есть изображения тепловой карты одинакового размера, вы можете попробовать обрезать их еще на один шаг.

Используйте модуль PIL (pillow) для выполнения этой работы.

Например:

from PIL import Image

for i in range(len(h1)):
    im = Image.open("neutral_{0}.png".format(i))
    im = im.crop((left, upper, right, lower)) # You have to adjust parameter here
    #im = im.crop((100, 75, 300, 150)) # ↓ 
    # you will get an image which size is (width=200, height=75)
    im.save("neutral_crop_{0}.png".format(i))

Координаты этих параметров (левый, верхний, правый, нижний) измеряются от левого верхнего угла входного изображения.

...