python实现PS类似的图层叠加操作--使用具有透明通道的PNG图片

该博客介绍了如何使用Python的Pillow库进行PNG图片的叠加与合成。通过Image.composite()函数,实现了两张PNG图片的尺寸调整、透明通道处理和最终的图片合并。此外,还展示了图片的基本操作,如读取、保存、裁剪和粘贴等,以及如何处理透明通道进行图层叠加,适合于图像处理和深度学习数据增强场景。

示例图片请忽略广告内容,侵权找我,我删除
原图图层1(浏览器观看具有透明通道的png图片为白色)
在这里插入图片描述
原图图层2(浏览器观看具有透明通道的png图片为白色)
在这里插入图片描述
结果图片
在这里插入图片描述

完整代码如下,请看代码注释

def CompositePng(png1, png2, out):
    """
    将两张PNG图片进行叠加,核心运用的函数是Image.composite
    png1:前景
    png2:背景
    """
    im1 = Image.open(png1)
    r, g, b, a = im1.split()  # 提取透明通道
    w1, h1 = im1.size
    im2 = Image.open(png2)
    w2, h2 = im2.size
    # todo 这个if-else结构的操作其实就是将前景和背景图片的图片尺寸做个修改,以防尺寸不一样带来的错误
    if w2 >= h2:
        radio = h2 / h1
        w3 = int(w2 / radio)
        h3 = int(h2 / radio)
        im2 = im2.resize((w3, h3))  <
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值