PIllow Image.paste 与复合与复合alpha_composite 对比混合,有什么区别?

问题描述 投票:0回答:1

图像处理新手。当用 Pillow 合并两个图像时,我对这些方法感到困惑:

PIL.Image.Image

  • .paste()
  • .composite()
  • .alpha_composite()
  • .blend()

有人可以提供快速解释吗?或者哪里可以获取相关的背景知识?

image-processing python-imaging-library
1个回答
6
投票

我是这样看的:

  • blend
    是最简单的。它在每个像素位置处采用每个图像的固定且恒定的比例,例如图像 A 的 30% 和图像 B 的 70% 在整个图像的每个位置。该比率是一个数字。此操作实际上对透明度并不感兴趣,它更多的是加权平均值,其中两个输入图像的一部分在输出图像中的每个像素位置都可见

  • paste
    composite
    是同义词。他们使用与图像大小相同的mask,并根据每个位置可能不同的mask值来获取图像A和图像B的比例。因此,顶部的图像 A 和图像 B 的比例可能为 0-100,底部的比例为 100-0,这看起来像是从顶部的一个图像到底部的另一图像的平滑混合过渡。或者,它可能就像一个基本上不透明的前景,您只能看到一个输入图像,但是一个透明的窗口,您可以通过它看到另一个输入图像。与两个输入图像大小相同的掩模是这里的关键,它可以在不同位置假设不同的值。

  • alpha 合成是最复杂的,最好由 Wikipedia

    描述

换句话说,

blend
没有阿尔法/透明度通道,并且每个输入图像在整个输出图像中存在固定比例。

paste
是单个 Alpha 通道,可以在整个图像中变化。

alpha_composite
是两个 Alpha 通道,它们在图像中都可以变化。

© www.soinside.com 2019 - 2024. All rights reserved.