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()
函数中,第一个参数为图像对象的模式,可以是RGB
、RGBA
等,第二个参数为图像对象的大小,以元组的形式输入。
打开原始图像
在合并图像前,需要打开原始图像,即要合并的图像。可以通过以下代码打开图像:
# 打开要合并的原始图像
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')