Python Pillow 简明教程

Python Pillow - Image Blending

Image blending 是将两张图像合并或混合在一起以创建新图像的过程。一种常见的图像混合方法是使用 Alpha 混合。在 Alpha 混合中,结果中的每个像素都是基于输入图像中相应像素的加权和计算的。Alpha 通道表示透明度,用作权重系数。

此技术通常用于图形、图像处理和计算机视觉中,以实现各种视觉效果。

Python Pillow 库在其 Image 模块中提供了 blend() 函数,用于对图像执行混合操作。

The Image.blend() function

此函数提供了一种通过指定混合因子 (Alpha) 在两张图像之间创建平滑过渡的便捷方法。此函数使用恒定 Alpha 值通过插值两张输入图像创建一张新图像。插入根据以下公式执行:−

out=image1×(1.0−alpha)+image2×alpha

以下是函数的语法−

PIL.Image.blend(im1, im2, alpha)

其中——

  1. im1 − 第一张图像。

  2. im2 − 第二张图像。它的模式和尺寸必须与第一张图像相同。

  3. alpha − 插值 Alpha 因子。如果 Alpha 为 0.0,则返回第一张图像的副本。如果 Alpha 为 1.0,则返回第二张图像的副本。Alpha 值没有限制。如有必要,会将结果裁剪以适合允许的输出范围。

Example

我们来看一个使用 Image.blend() 方法混合两张图像的基本示例。

from PIL import Image

# Load two images
image1 = Image.open("Images/ColorDots.png")
image2 = Image.open("Images/pillow-logo-w.png")

# Blend the images with alpha = 0.5
result = Image.blend(image1, image2, alpha=0.5)

# Display the input and resultant iamges
image1.show()
image2.show()
result.show()
color dots
pillow logo
resultant images

Example

此处是一个示例,展示了使用 Alpha 值 2 的 PIL.Image.blend()。

from PIL import Image

# Load two images
image1 = Image.open("Images/ColorDots.png")
image2 = Image.open("Images/pillow-logo-w.png")

# Blend the images with alpha = 2
result = Image.blend(image1, image2, alpha=2)

# Display the input and resultant iamges
image1.show()
image2.show()
result.show()
color dots
pillow logo
image blend

Example

此处是一个示例,展示了使用 Alpha 值 1.0 的 PIL.Image.blend()。它将返回第二张图像的副本。

from PIL import Image

# Load two images
image1 = Image.open("Images/ColorDots.png")
image2 = Image.open("Images/pillow-logo-w.png")

# Blend the images with alpha = 2
result = Image.blend(image1, image2, alpha=1.0)

# Display the input and resultant iamges
image1.show()
image2.show()
result.show()
color dots
pillow logo
pillow logo