Python 是一种流行的编程语言,被世界各地的开发人员用来构建各种应用程序。Python 的显着优势之一是提供了几个强大的库,可以简化复杂的任务。其中一个库是 Pillow,它用于图像处理任务,如调整大小、裁剪和操作图像。

 

在本教程中,我们将探讨如何使用 Pillow 在 Python 中水平和垂直连接图像。图像串联是将两个或多个图像组合成单个图像的过程。通过连接图像,我们可以创建令人惊叹的图像拼贴,将多个图像组合成单个图像,或创建图像序列。我们将在本文的后续部分中深入探讨使用 Pillow 加载图像、调整图像大小并最终将它们水平和垂直连接的过程。

如何在 Python 中使用 Pillow 连接图像?

在图像处理中,串联是指将两个或多个图像组合成一个图像。图像串联是一种强大的技术,可让您创建令人惊叹的图像拼贴、将多个图像组合成单个图像或创建图像序列。在本教程中,我们将学习如何使用 Python 中的 Pillow 库连接图像。

在开始之前,我们需要安装 Pillow 库。在本教程中,我们假设您的系统上安装了 Python。

要安装 Pillow 库,我们可以使用 pip,它是 Python 的软件包安装程序。打开终端或命令提示符,然后输入以下命令:


pip install Pillow


此命令将下载并安装 Pillow 库及其依赖项。我们现在可以进入本文的下一部分,我们将学习如何使用 Pillow 加载图像。

使用枕头连接图像

现在我们已经安装了 Pillow,让我们继续使用它来连接图像。

串联意味着将多个图像组合成一个图像。我们可以水平或垂直连接图像。

为了使用 Pillow 连接图像,我们使用 Image 模块的 concatenate() 方法。concatenate() 方法采用两个参数:图像和方向。images 参数是我们要连接的图像列表,direction 参数指定我们是要水平连接图像还是垂直连接图像。

水平串联

水平串联是将两个或多个图像水平组合成单个图像的过程。这里我们使用以下两个图像作为“image-1”和“image-2”:

如何在 Python 中使用 Pillow 连接图像?_Image

图像−1

如何在 Python 中使用 Pillow 连接图像?_Image_02

图像−2

请考虑以下代码片段,以使用 Pillow 执行水平串联:


from PIL import Image # Load the images image1 = Image . open ( "image-1.jpg" ) image2 = Image . open ( "image-2.jpg" ) # Get the dimensions of the images width1 , height1 = image1 .size width2 , height2 = image2 .size # Create a new image with the combined width and the height of the tallest image new_width = width1 + width2 new_height = max (height1 , height2 ) new_image = Image .new ( "RGB" , (new_width , new_height ) ) # Paste the two images onto the new image new_image .paste (image1 , ( 0 , 0 ) ) new_image .paste (image2 , (width1 , 0 ) ) # Save the new image new_image .save ( "concatenated_image_horizontal.jpg" )


在此代码片段中,我们首先加载要连接的两个图像。然后,我们使用 size 属性获取图像的尺寸。我们使用 new() 方法创建一个新的图像对象,其中包含两个图像的宽度和最高图像的高度。

然后,我们将两个图像粘贴到新图像上,第一个图像(image1)从左上角(0,0)开始粘贴,第二个图像(image2)从第一个图像的右上角(width1,0)开始粘贴。最后,新的级联图像作为“concatenated_image_horizontal.jpg”保存到磁盘。

输出

上述代码片段的输出将是一个名为 concatenated_image_horizontal.jpg 的新图像,它将是两个输入图像的水平串联。

如何在 Python 中使用 Pillow 连接图像?_Python_03

从输出中可以看出,两个图像水平粘贴在一起以创建最终图像,从而产生水平串联。

垂直串联

水平串联是将两个或多个图像垂直组合成单个图像的过程。

要垂直连接图像,我们只需要更改传递给 paste() 方法的参数。下面是一个代码片段,演示如何使用 Pillow 垂直连接图像:


from PIL import Image # Load the images image1 = Image . open ( "image1.jpg" ) image2 = Image . open ( "image2.jpg" ) # Get the dimensions of the images width1 , height1 = image1 .size width2 , height2 = image2 .size # Create a new image with the combined width and the height of the tallest image new_width = max (width1 , width2 ) new_height = height1 + height2 new_image = Image .new ( "RGB" , (new_width , new_height ) ) # Paste the two images onto the new image new_image .paste (image1 , ( 0 , 0 ) ) new_image .paste (image2 , ( 0 , height1 ) ) # Save the new image new_image .save ( "concatenated_image_vertical.jpg" )


在上面的代码片段中,我们创建了一个新的图像对象,其中包含两个图像的高度和最宽图像的宽度。然后使用 paste() 方法将这两个图像粘贴到新图像上。image1 粘贴到位置 (0, 0),即新图像的左上角。图像 2 粘贴在图像 1 下方的位置(0,高度 1),其中高度 1 是图像 1 的高度。

最后,使用 save() 方法将串联的图像保存为“concatenated_image_vertical.jpg”。

输出

上述代码片段的输出将是一个名为“concatenated_image_vertical.jpg”的新图像

如何在 Python 中使用 Pillow 连接图像?_Python_04

从输出中可以看出,两个图像水平粘贴在一起以创建最终图像,从而产生水平串联。

结论

在本教程中,我们学习了如何在 Python 中使用 Pillow 连接图像。我们使用 Pillow 库来加载和操作图像,然后使用 Image 模块的 concatenate() 方法来水平和垂直连接图像。

我们为每种方法提供了一个示例,您可以使用这些示例来创建令人惊叹的图像拼贴、将多个图像组合成单个图像或创建图像序列。按照本教程中概述的步骤,您可以轻松地在 Python 中连接图像并在项目中使用它们。