【问题标题】:Python Paste Image without empty space Alpha channel没有空格的Python粘贴图像Alpha通道
【发布时间】:2021-01-13 20:22:44
【问题描述】:

我正在创建一个图像处理程序。 为了流程的清晰,我已经最大限度地简化了代码:

从 PIL 导入图片

im_layout = Image.open(r"C:\Users\vadym\Desktop\test\Portada-oscura-PNG.png")

im2 = Image.open(r"C:\Users\vadym\Desktop\test\Iphone-XS-Gris-Espacial-1.png")

imres = im2.resize((350, 350))

im_layout.paste(imres, imres)

im_layout.show()

im_layout.save(r'C:\Users\vadym\Desktop\test\resultado-1.jpg')

这是我得到的结果:

这是我想要的结果:

问题是粘贴的图像是用那些空白存储的,我在最后一张图像中将它们标记为红色。

我只想粘贴图像中的项目,而不是那个空白区域。

【问题讨论】:

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


【解决方案1】:

回答我自己的问题:

im_layout = Image.open(r"C:\Users\vadym\Desktop\test\Portada-oscura-PNG.png")

im2 = Image.open(r"C:\Users\vadym\Desktop\test\Iphone-XS-Gris-Espacial-1.png")

alpha = im2.getchannel('A')

bbox = alpha.getbbox()

裁剪 = im2.crop(bbox)

imres = cropped.resize((350, 350))

im_layout.paste(imres, imres)

im_layout.show()

im_layout.save(r'C:\Users\vadym\Desktop\test\resultado-1.jpg')


感谢@MarkSetchell

【讨论】:

    【解决方案2】:
    1. 使用任何软件(如 adobe、paint 3d)移除图像背景
    2. 裁剪图像
    3. 然后在 python 上应用

    【讨论】:

    • 我需要做 500 次。手动操作不是一种选择
    猜你喜欢
    • 2023-03-24
    • 2019-05-18
    • 2013-03-19
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多