Python Pillow - 合并图像

Pillow 包允许您将一张图像粘贴到另一张图像上。 merge() 函数接受模式和图像元组作为参数,并将它们组合成单个图像。

语法

Image.merge(mode, bands)

这里,

  • mode − 用于输出图像的模式。

  • bands − 输出图像中每个波段包含一个单波段图像的序列。 所有条带的大小必须相同。

  • 返回值 − Image 图像对象。

使用 merge() 函数,您可以将图像的 RGB 波段合并为 −

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

在执行上面的代码时,您可以看到原始图像和合并了 RGB 波段的图像,如下所示 −

输入图像 输入图像

输出图像 输出图像1

合并两张图像

同理,合并两张不同的图像,需要 −

  • 使用 open() 函数为所需图像创建图像对象。

  • 合并两张图像时,您需要确保两张图像的大小相同。 因此,获取两个图像的每个大小,如果需要,相应地调整它们的大小。

  • 使用 Image.new() 函数创建一个空图像。

  • 使用 paste() 函数粘贴图像。

  • 使用 save() 和 show() 函数保存并显示生成的图像。

示例

以下示例演示了使用 python pillow 合并两个图像 −

from PIL import Image
#Read the two images
image1 = Image.open('images/elephant.jpg')
image1.show()
image2 = Image.open('images/ladakh.jpg')
image2.show()
#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],0))
new_image.save("images/merged_image.jpg","JPEG")
new_image.show()

输出

如果将上述程序保存为 Example.py 并执行,它会使用标准的 PNG 显示实用程序显示两个输入图像和合并后的图像,如下所示 −

输入图像 1 输入图像1

输入图像 2 输入图像2

合并图像 合并图像