详解如何使用Python 3模块pillow合并相同大小的图像

  • Post category:Python

Pillow是一个Python图像处理库,可以实现许多图像操作,包括合并相同大小的图像。下面是详细讲解如何使用Python 3模块pillow合并相同大小的图像的完整攻略。

安装pillow模块

在执行pillow相关操作前,需要先安装pillow模块,可以通过以下命令进行安装:

pip install pillow

创建新图像对象

在合并相同大小的图像前,需要创建一个新的图像对象。新的图像对象可以通过以下代码创建:

from PIL import Image

# 创建新的图像对象,大小为100*100
new_image = Image.new('RGB', (100, 100))

其中,Image.new()函数中,第一个参数为图像对象的模式,可以是RGBRGBA等,第二个参数为图像对象的大小,以元组的形式输入。

打开原始图像

在合并图像前,需要打开原始图像,即要合并的图像。可以通过以下代码打开图像:

# 打开要合并的原始图像
image1 = Image.open('image1.png')

其中,Image.open()函数中,参数为要打开的图像文件的路径。

合并图像

合并图像的操作可以使用Image.paste()函数。可以通过以下代码将原始图像合并到新的图像对象中:

# 将原始图像合并到新的图像对象中
new_image.paste(image1, (0,0))

其中,Image.paste()函数中,第一个参数为要合并的图像对象,第二个参数为图像对象的左上角坐标,以元组的形式输入。

同样的,可以使用Image.paste()函数将第二张图像合并到新的图像对象中。

保存新的图像

完成图像合并后,将新的图像保存到本地。可以使用以下代码保存新的图像:

# 保存新的图像
new_image.save('new_image.png')

其中,new_image.save()函数中,参数为保存图像的路径,可以是相对路径或绝对路径。

示例说明

下面是两条示例说明:

示例1:将两张大小为100*100的图像水平合并

from PIL import Image

# 创建新的图像对象,大小为200*100
new_image = Image.new('RGB', (200, 100))

# 打开第一张原始图像
image1 = Image.open('image1.png')
# 将第一张图像合并到新的图像对象中
new_image.paste(image1, (0,0))

# 打开第二张原始图像
image2 = Image.open('image2.png')
# 将第二张图像合并到新的图像对象中
new_image.paste(image2, (100,0))

# 保存新的图像
new_image.save('new_image.png')

示例2:将三张大小为50*50的图像垂直合并

from PIL import Image

# 创建新的图像对象,大小为50*150
new_image = Image.new('RGB', (50, 150))

# 打开第一张原始图像
image1 = Image.open('image1.png')
# 将第一张图像合并到新的图像对象中
new_image.paste(image1, (0,0))

# 打开第二张原始图像
image2 = Image.open('image2.png')
# 将第二张图像合并到新的图像对象中
new_image.paste(image2, (0,50))

# 打开第三张原始图像
image3 = Image.open('image3.png')
# 将第三张图像合并到新的图像对象中
new_image.paste(image3, (0,100))

# 保存新的图像
new_image.save('new_image.png')