如何在Python中用Pillow将两个图像的连接
合并图像是指两个图像的连接。我们可以合并任何图像,无论它是否有不同的像素,不同的图像格式,即 “jpeg”、”png”、”gif”、”tiff “等。在Python中,我们可以使用Python图像库(也称为pillow库)连接两幅图像。在这篇文章中,我们将看到图像的连接是如何进行的。
图像的串联可以通过两种方式进行。
- Horizontal
- Vertical
水平压缩图像
步骤:
- Import module
- 打开图像
- 使用Resize()函数调整图像的大小。调整后的两张图片的宽度和高度都应该是一样的,这样它们的长宽比就不会受到影响,可以粘贴到新的背景图片上。
- 要创建一个新的图像,它有一个new()函数,有3个参数(”模式”,(大小),颜色)。
- 使用paste()将图像粘贴到新的图像上。
代码:
# library
from PIL import Image
import matplotlib.pyplot as plt
# opening up of images
img = Image.open("logo.png")
img1 = Image.open("logo2.png")
img.size
img1.size
img_size = img.resize((250, 90))
img1_size = img1.resize((250, 90))
# creating a new image and pasting
# the images
img2 = Image.new("RGB", (500, 90), "white")
# pasting the first image (image_name,
# (position))
img2.paste(img_size, (0, 0))
# pasting the second image (image_name,
# (position))
img2.paste(img1_size, (250, 0))
plt.imshow(img2)
输出 :
将图像纵向串联起来
整个代码与横向相同,但唯一的变化是,在横向中我们将宽度增加一倍,高度不变,但在纵向中我们使宽度大小不变,但高度增加一倍。
步骤:
- 导入用于图像处理的库。
- 使用Image.open()来打开这个库。
- 使用img.size来了解图片的大小。
- 使用img.resize((width,height))来调整图片的大小。
- 两张图片应该是相同的尺寸。
- 使用new()创建一个新图像,并传递3个参数 “mode”,size, “color”)。
- 新图像的尺寸应该是(宽,2*高)。
- 创建新图像后,通过使用paste()粘贴第一张图像,并传递参数(img_resize,(position))#position(0,0)
- 粘贴完第一张图片后,用粘贴法粘贴第二张图片,并传递参数(img1_reszie, (position))。在位置上,宽度将是相同的,但高度将是第一张图片高度的最后一个位置。 .#position=(0,180)
- 使用plt.imshow(img2)来显示图像的串联。
代码:
# library
from PIL import Image
import matplotlib.pyplot as plt
# opening up of images
img = Image.open("logo.png")
img1 = Image.open("logo2.png")
img.size
img1.size
img_size = img.resize((250, 90))
img1_size = img1.resize((250, 90))
# creating a new image and pasting the
# images
img2 = Image.new("RGB", (250, 180), "white")
# pasting the first image (image_name,
# (position))
img2.paste(img_size, (0, 0))
# pasting the second image (image_name,
# (position))
img2.paste(img1_size, (0, 90)
plt.imshow(img2)
输出: