📜  PythonPillow-合并图像

📅  最后修改于: 2020-11-07 07:46:52             🧑  作者: Mango


枕头包装可让您将图像粘贴到另一个图像上。 merge()函数接受模式和图像元组作为参数,并将它们组合为单个图像。

句法

Image.merge(mode, bands)

哪里,

  • 模式-用于输出图像的模式。

  • 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枕头合并两个图像的方法-

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

合并图像合并影像