Я использую подушку, чтобы вырезать фигуру из изображения. Для этого я использую альфа-маску, содержащую черно-белое изображение формы, в которой я нуждаюсь. Когда я применяю маску с подушкой, я остаюсь с вырезом изображения, как я и хотел, но обрисован полностью несвязанным изображением из другой папки.Python Pillow с использованием неправильной маски
Когда я объединить его со случайной картинки из межсетях (this one to be exact), я получаю это в результате:
белый граница, окружающая изображение, находится в другой папке из рабочей и никогда не ссылается на мой код.
У меня нет земной идеи о том, как Подушка получает белую границу. Это очень неприятно. Кто-нибудь знает, почему это происходит?
Для справки, вот код, а также:
from PIL import Image
def Blend_Pic():
background = Image.open("bg.png")
mask = Image.open("mask2.png").convert("L")
foreground = Image.open("fg.png")
background.paste(foreground, (0, 0), mask)
background.show()
if __name__ == "__main__":
Blend_Pic()
фон просто пустой 1600x900 PNG, а на переднем плане является случайным изображение от Google.
Редактировать: Изменение маски как простого прямоугольника дало те же результаты, поэтому изменение маски не помогло.
Ответ очевиден: код, который, как вы думаете, вы используете, вы показываете здесь, это * не * код, который вы фактически используете. Либо это, либо 'fg.png' уже содержит границу с более раннего шага. –
У меня определенно работает правильный код, и изображение переднего плана явно не видно. Я несколько раз менял рабочий каталог, чтобы убедиться, что у меня есть правильный код, и я повторно загрузил передний план из google, все еще та же проблема. – watswat5
Поместите полный путь в вызов 'open', чтобы убедиться, что вы получаете правильный файл. И поставьте «показ» на изображении сразу после того, как вы откроете его, чтобы сделать втроем уверенным. –