Python Pillow - 合并图像



Pillow (PIL) 库用于合并或组合图像的单个波段以创建新的多波段图像。它在处理多光谱或多通道图像(例如 RGB 或 CMYK 图像)时特别有用,并且我们希望通过合并特定波段来创建新图像。

在 Pillow 中,我们有 `merge()` 方法,它属于 `Image` 模块,用于合并给定的输入图像。

此方法对于组合卫星或医学图像的多个通道、创建自定义彩色图像或处理需要组合成单个图像的单独通道的图像等任务非常有用。

以下是 `Image.merge()` 方法的语法和用法:

Image.merge(mode, bands)

其中:

  • **mode** - 此参数指定新多波段图像的模式。它应该与我们想要合并的各个波段的模式匹配。常见的模式包括用于彩色图像的“RGB”、用于具有 alpha 通道的图像的“RGBA”以及用于青色、品红色、黄色和黑色颜色空间的“CMYK”。

  • **bands** - 此参数是一个元组,包含我们要合并的各个图像波段。每个波段都应该是单通道图像或灰度图像。

示例

以下是如何使用 `Image.merge()` 方法合并图像的红色、绿色和蓝色波段以创建新的 RGB 图像的示例。

from PIL import Image
image = Image.open("Images/butterfly.jpg")
r, g, b = image.split()
image = Image.merge("RGB", (b, g, r))
image.show()

待使用的图像

butterfly original image

输出

blue butterfly

示例

在此示例中,我们使用 Pillow 库的 `Image` 模块的 `merge()` 方法合并两个输入图像。

from PIL import Image
image1 = Image.open("Images/butterfly.jpg")
image2 = Image.open("Images/hand writing.jpg")

#resize, first image
image1 = image1.resize((426, 240))
image1_size = image1.size
image2_size = image2.size
new_image = Image.new("RGB",(2*image1_size[0], image1_size[1]), (250,250,250))
new_image.paste(image1,(0,0))
new_image.paste(image2,(image1_size[0],1))
new_image.save("output Image/merged.jpg")
new_image.show()

要合并的两张图像

butterfly original image expanded image

输出

two images merged
广告
© . All rights reserved.