【问题标题】:How to overlay only the needed image?如何仅覆盖所需的图像?
【发布时间】:2021-02-04 15:54:19
【问题描述】:

我有两张图片。

图片1:

图 2:

两张图片的分辨率相同。我想在第一张图片上叠加第二张图片。

这是我尝试过的:

from PIL import Image

img1 = Image.open("D:\\obj1__0.png")
img1 = img1.convert("RGBA")
img1 = img1.resize((640,360))

img2 = Image.open('D:\\Renderforest_Watermark.png')
img2 = img2.convert("RGBA")
img2 = img2.resize((640,360))

new_img = Image.blend(img1,img2,0.7)
new_img.save("D:\\Final.png")

输出:

我的问题:如何在图像 1 上叠加图像 2,以便仅叠加水印?

P.S:我已经在 Stack Overflow 上搜索过这个问题,但找不到任何答案。

【问题讨论】:

  • 这能回答你的问题吗? PIL : PNG image as watermark for a JPG image
  • @RandomDavis 不。它对我不起作用。
  • 你能澄清什么没有奏效吗?您的叠加图像没有透明度吗?你试过让背景透明吗?

标签: python python-3.x image-processing python-imaging-library


【解决方案1】:

您的叠加图像格式不正确。白色的地方应该是透明的。它没有透明度,所以它不是透明的。我只能建议通过猜测覆盖图像为白色的地方应该是透明的来制作合成 Alpha 通道:

#!/usr/bin/env python3

from PIL import Image

# Set a common size
size = (640, 360)

# Load background and overlay, removing the pointless alpha channel and resizing to a common size
bg = Image.open('background.png').convert('RGB').resize(size)
overlay = Image.open('overlay.png').convert('RGB').resize(size)

# Try and invent a mask by making white pixels transparent
mask = overlay.convert('L')
mask = mask.point(lambda p: 255 if p < 225 else 0)

# Paste overlay onto background only where the mask is, then save
bg.paste(overlay, None, mask)
bg.save('result.png')


如果您的图像确实有 Alpha 通道,您应该避免删除原始 Alpha 通道,而是像这样打开它:

overlay = Image.open('overlay.png').resize(size)

然后删除这些行:

# Try and invent a mask by making white pixels transparent
mask = overlay.convert('L')
mask = mask.point(lambda p: 255 if p < 225 else 0)

然后将上面的行改为:

# Paste overlay onto background only where the mask is, then save
bg.paste(overlay, None, overlay)

关键字:图像处理、PIL、Pillow、叠加、水印、透明、alpha。

【讨论】:

  • 谢谢!有用!您能否详细解释一下这两行的作用:mask = overlay.convert('L') mask = mask.point(lambda p: 255 if p &lt; 225 else 0)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
相关资源
最近更新 更多