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
#读取两个图像
image1 = Image.open('images/elephant.jpg')
image1.show()
image2 = Image.open('images/ladakh.jpg')
image2.show()
#调整第一个图像的大小
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
合并图像