Python Pillow 合并图像
Pillow 包允许你将图像粘贴到另一个图像上。 merge() 函数接受一个模式和一个图像元组作为参数,并将它们组合成一个图像。
语法
Image.merge(mode, bands)
Where,
-
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波段的图像,如下图所示:
输入图像
输出图像
合并两个图像
同理,要合并两张不同的图片,需要:
-
使用 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()
如果将上述程序保存为 例子.py 并执行,它将使用标准 PNG 显示实用程序显示两个输入图像和合并图像,如下所示:
输入图像1
输入图像2
合并图像