📌  相关文章
📜  如何使用Python 3 模块枕头合并相同大小的图像?(1)

📅  最后修改于: 2023-12-03 14:52:04.038000             🧑  作者: Mango

使用 Python 3 模块 Pillow 合并相同大小的图像

Pillow 是一个 Python 3 的图像处理库,它可以让你轻松地进行图片处理,如旋转、裁剪、缩放、合并等操作。其中,合并多张相同大小的图像是一项常见的任务,在下面的介绍中,我们将使用 Pillow 实现这个功能。

安装 Pillow

在使用 Pillow 之前,我们需要先安装它,可以使用以下命令:

pip3 install pillow
合并相同大小的图像

假设我们有三张相同大小的图片 pic1.pngpic2.pngpic3.png,这三张图片要合并成一张大图。

步骤1:打开图片

使用 Pillow 打开图片可以使用 Image.open() 方法。例如,打开 pic1.png 可以使用以下代码:

from PIL import Image

pic1 = Image.open("pic1.png")
步骤2:创建新图片

创建一个新的空白图片可以使用 Image.new() 方法。这个方法需要传入两个参数:

  • 图片模式(mode):指定图片的颜色模式,通常使用 RGB 模式。
  • 图片尺寸(size):指定图片的宽和高,以元组的形式传入。

例如,我们打算将三张 100x100 的图片合并,那么可以如下创建一个大小为 300x100 的新图片:

new_img = Image.new("RGB", (300, 100))
步骤3:将图片粘贴到新图片上

使用 Image.paste() 方法可以将图片粘贴到新图片上。这个方法需要传入两个参数:

  • 要粘贴的图片对象(im)
  • 图片粘贴的位置(box),以元组的形式传入左上角和右下角的坐标。在本例中,我们要将第一张图片粘贴到新图片的左上角,因此 box 应该是 (0, 0, 100, 100)
new_img.paste(pic1, (0, 0, 100, 100))

将第二张、第三张图片粘贴到新图片的相应位置上,同样也需要调用 Image.paste() 方法。

步骤4:保存新图片

完成合并后,我们需要将新图片保存到磁盘上。使用 Image.save() 方法可以将图片保存到指定路径。例如,保存到当前目录下的 merged.png 时可以执行以下代码:

new_img.save("merged.png")

至此,合并图像的任务就已经完成了。下面是完整的代码:

from PIL import Image

# 打开图片
pic1 = Image.open("pic1.png")
pic2 = Image.open("pic2.png")
pic3 = Image.open("pic3.png")

# 创建新图片
new_img = Image.new("RGB", (300, 100))

# 粘贴图片
new_img.paste(pic1, (0, 0, 100, 100))
new_img.paste(pic2, (100, 0, 200, 100))
new_img.paste(pic3, (200, 0, 300, 100))

# 保存图片
new_img.save("merged.png")
总结

在本文中,我们介绍了如何使用 Python 3 模块 Pillow 合并相同大小的图像。需要注意的是,合并过程中需要确保所有图片的尺寸相同,否则合并后的图片可能会出现问题。