0
我正在使用枕头从图像中剪出一个形状。要做到这一点,我使用了一个alpha遮罩,它包含我需要的形状的黑白图像。当我使用枕头敷贴面具时,我留下了一幅图像的抠图,就像我想要的那样,但它是由来自不同文件夹的完全不相关的图片勾勒出来的。使用错误蒙版的Python枕头
当我从interwebs(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和前景是从谷歌的随机图像。
编辑:改变面具只是一个简单的矩形给出了相同的结果,所以改变面具没有帮助。
答案是显而易见的:你认为你运行的代码,你在这里展示的是*不是你实际运行的代码。或者,或者'fg.png'已经包含了前一步的边界。 –
我绝对运行正确的代码,前景图片绝对没有边界。我已经多次改变了工作目录,以确保我运行正确的代码,并重新从谷歌下载了前台,但仍然是同样的问题。 – watswat5
将全路径名放入'open'调用中,以加倍确保您获得正确的文件。在打开图像后立即在图像上放上一个“show”,以确保三重奏。 –