Python Pillow 合并图像
Pillow包允许你将一张图片粘贴到另一张上。merge()函数接受一个模式和一个图像的元组作为参数,并将它们合并成一个图像。
语法
Image.merge(mode, bands)
其中。
- mode – 用于输出图像的模式。
-
bands – 一个序列,包含输出图像中每个波段的一个单波段图像。所有波段必须有相同的尺寸。
-
返回值 – 一个图像对象。
使用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()
输出
如果你将上述程序保存为Example.py并执行,它会使用标准的PNG显示工具显示两张输入图像和合并后的图像,如下所示
输入图像1
输入图像2
合并后的图像