【发布时间】:2019-12-14 16:36:06
【问题描述】:
我正在尝试将两个图像水平拼接在一起,我想对文件夹中的所有图像执行此操作。我的图像命名为: img1.jpg img1a.jpg img2.jpg img2a.jpg
这样img1和img1a应该缝合,img2应该和img2a缝合。
我正在使用以下代码手动缝合两个图像,但无法实现如何将其扩展到整个文件夹。
我将不胜感激。
import sys
from PIL import Image
images = map(Image.open, ['img1.jpg', 'img1a.jpg'])
widths, heights = zip(*(i.size for i in images))
total_width = sum(widths)
max_height = max(heights)
new_im = Image.new('RGB', (total_width, max_height))
x_offset = 0
for im in images:
new_im.paste(im, (x_offset,0))
x_offset += im.size[0]
new_im.save('img1.jpg')
【问题讨论】:
-
使用
os.listdir(folder)获取文件夹中的所有文件。问题可能在于创建对 - 但如果它们是按字母顺序排列的,那么您可以获得files[0:2]、files[2:3]等。然后对每一对运行您的代码。