转换图像后蒙版不会停留

Mask Won't Stay After Converting Image

我在屏蔽 .png 图像然后将该图像转换为 RGB 时遇到问题。我这样做是为了让蒙版效果在白色背景上更加明显。

我在保存之前完成了 .convert('RGB') 方法,并将蒙版图像粘贴到新创建的白色图像上。两者都对起始图像没有影响:

from PIL import Image
import os

path = os.path.dirname(os.path.realpath(__file__)) + '/'

mask = Image.open(path + "snap_mask.png")
mask = mask.convert("L")
im = Image.open(path + "snap.png")
im.putalpha(mask)

im.convert('RGB').save(path + "snap_output.png")

起始图像和最终结果是一样的。以下是我正在使用的图像的链接(用于不和谐的机器人):

snap.png (图片右侧为灰色,可见粒子效果)

snap_mask.png

snap_output.png

desired_output (我想要的输出)

如有任何帮助,我们将不胜感激! :-)

所以在短暂的休息之后,我意识到我做错了什么。我没有将图像转换为 RGB,而是在遮罩后面添加了一个白色图像。我之前做的.paste()方法不对,能够得到想要的最终输出:

from PIL import Image
import os

path = os.path.dirname(os.path.realpath(__file__)) + '/'

mask = Image.open(path + "snap_mask.png")
mask = mask.convert("L")
dst_im = Image.open(path + "snap.png")
dst_im.putalpha(mask)

white = Image.new('RGB', dst_im.size, (255, 255, 255))
white.paste(dst_im, dst_im)

white.save(path + "snap_output.png")