如何将文件夹A内的若干张图片四个一组进行拼接(上下各两张)要求最后的拼接结果为一矩形(将多余的部分裁减掉)并把结果输出到文件夹B代码()
时间: 2024-05-02 09:20:09 浏览: 181
以下是Python代码实现:
```python
import os
from PIL import Image
# 设置输入和输出文件夹路径
input_folder = 'A/'
output_folder = 'B/'
# 获取文件夹A内的图片文件列表
file_list = os.listdir(input_folder)
# 将列表中的非图片文件剔除
image_list = [os.path.join(input_folder, file) for file in file_list if file.endswith('.jpg')]
# 设置每行显示的图片数量和行数
images_per_row = 2
rows = int(len(image_list) / images_per_row)
# 循环处理每一行的图片
for i in range(rows):
# 创建一张新的空白图片作为拼接结果
new_image = Image.new('RGB', (images_per_row * 500, 1000))
# 循环读取每个位置的图片并粘贴到新图片中
for j in range(images_per_row):
index = i*images_per_row + j
image = Image.open(image_list[index])
# 调整图片大小
size = (500, 500)
image = image.resize(size, Image.ANTIALIAS)
# 粘贴到新图片中
new_image.paste(image, (j*500, 0))
# 裁剪矩形并保存拼接结果
new_image = new_image.crop((0, 0, images_per_row*500, 1000))
new_image.save(os.path.join(output_folder, f'{i}.jpg'))
```
该代码可以实现将输入文件夹A内的若干张图片四个一组进行拼接(上下各两张),并把结果输出到输出文件夹B。需要注意的是,为了使每张图片之间有一定的间距,这里选择将每张图片大小调整为500 x 500,并将它们粘贴到一张大小为2 x 500 x 500的新图片中,再进行裁剪。
阅读全文