枕头 Image.paste v.s 复合 v.s。 alpha_compositev.s。混合,有什么区别?
PIllow Image.paste v.s composite v.s. alpha_composite v.s. blend, what's the difference?
图像处理新手。在用 Pillow 合并两个图像时,我对这些方法感到困惑:
PIL.Image.Image
.paste()
.composite()
.alpha_composite()
.blend()
谁能快速解释一下?或者哪里可以获取相关的背景知识?
我是这样看的:
blend
最简单。它在每个像素位置采用每个图像的 固定和恒定 比例,例如图像 A 的 30% 和图像 B 的 70% 在整个图像的每个位置。该比率是一个数字。此操作对透明度并不真正感兴趣,它更像是一个加权平均值,其中两个输入图像的一部分将在输出图像的每个像素位置可见
paste
和 composite
是同义词。他们使用一个mask,和图片大小一样,根据mask的值,在每个位置可能不同,取图片A和图片B的比例。因此,您可能在顶部有 0-100 的图像 A 和图像 B 的比例,在底部有 100-0 的比例,这看起来像是从顶部的一个图像到底部的另一个图像的平滑混合过渡。或者,它可能就像一个基本上不透明的前景,您只能看到一个输入图像,但是透明的 window,您可以通过它看到另一个输入图像。与两个输入图像大小相同的蒙版是这里的关键,它可以在不同位置采用不同的值。
alpha 合成是最复杂的,最好用 Wikipedia
来描述
——-
换句话说,blend
没有 alpha/transparency 通道,并且每个输入图像在整个输出图像中的固定比例。
paste
是单个 alpha 通道,可以在整个图像中变化。
alpha_composite
是两个 alpha 通道,它们都可以在图像中变化。
图像处理新手。在用 Pillow 合并两个图像时,我对这些方法感到困惑:
PIL.Image.Image
.paste()
.composite()
.alpha_composite()
.blend()
谁能快速解释一下?或者哪里可以获取相关的背景知识?
我是这样看的:
blend
最简单。它在每个像素位置采用每个图像的 固定和恒定 比例,例如图像 A 的 30% 和图像 B 的 70% 在整个图像的每个位置。该比率是一个数字。此操作对透明度并不真正感兴趣,它更像是一个加权平均值,其中两个输入图像的一部分将在输出图像的每个像素位置可见paste
和composite
是同义词。他们使用一个mask,和图片大小一样,根据mask的值,在每个位置可能不同,取图片A和图片B的比例。因此,您可能在顶部有 0-100 的图像 A 和图像 B 的比例,在底部有 100-0 的比例,这看起来像是从顶部的一个图像到底部的另一个图像的平滑混合过渡。或者,它可能就像一个基本上不透明的前景,您只能看到一个输入图像,但是透明的 window,您可以通过它看到另一个输入图像。与两个输入图像大小相同的蒙版是这里的关键,它可以在不同位置采用不同的值。alpha 合成是最复杂的,最好用 Wikipedia
来描述
——-
换句话说,blend
没有 alpha/transparency 通道,并且每个输入图像在整个输出图像中的固定比例。
paste
是单个 alpha 通道,可以在整个图像中变化。
alpha_composite
是两个 alpha 通道,它们都可以在图像中变化。