python 用pillow库实现讲不同尺寸的照片拼接成长图
时间: 2023-07-12 21:03:56 浏览: 162
使用Python中的Pillow库(Python Imaging Library的分支)可以实现将不同尺寸的照片拼接成长图。以下是一个简单的示例代码:
```python
from PIL import Image
# 打开需要拼接的图片
img1 = Image.open('image1.jpg')
img2 = Image.open('image2.jpg')
img3 = Image.open('image3.jpg')
# 计算总高度
total_height = img1.height + img2.height + img3.height
# 创建空白长图
result = Image.new('RGB', (img1.width, total_height))
# 拼接图片
y_offset = 0
result.paste(img1, (0, y_offset))
y_offset += img1.height
result.paste(img2, (0, y_offset))
y_offset += img2.height
result.paste(img3, (0, y_offset))
# 保存结果
result.save('result.jpg')
```
在上面的代码中,我们首先使用`Image.open()`方法打开需要拼接的图片。然后计算所有图片的总高度,并使用`Image.new()`方法创建一个与第一张图片宽度相同、高度为总高度的空白长图。最后使用`Image.paste()`方法将每张图片依次粘贴到空白长图上,并使用`Image.save()`方法保存结果。注意,每次粘贴时,需要记录当前的y轴偏移量,以便将下一张图片粘贴到正确的位置上。
需要注意的是,如果要拼接多张图片,需要在代码中添加更多的`Image.open()`和`Image.paste()`语句,并调整y轴偏移量。此外,如果图片尺寸不同,需要进行适当的缩放和裁剪,以便拼接成长图。
阅读全文