python 文件夹下所有图片每三张纵向拼接为一张图

from PIL import Image
from os import listdir
'''
cut_pictures : 图片存放路径
'''
ims = [Image.open(cut_pictures+'\\'+fn)for fn in listdir(cut_pictures)  if fn.endswith(".jpg")]       #  打开路径下的所有图片
width,height = ims[0].size
print(ims)

#把所有的图片每3张分为一组
list_of_groups = zip(*(iter(ims),) *3)
end_list = [list(i) for i in list_of_groups]
count = len(ims) % 3
end_list.append(ims[-count:]) if count !=0 else end_list
print(end_list)
num = 0

for i in end_list:
    num+=1
    result = Image.new(ims[0].mode,(width,height*len(i)))
    for j , im in enumerate(i):
        result.paste(im,box=(0,j*height))
        print(j)
    result.save(result_path_target+'\\'+'%s.jpg'%num)

你可能感兴趣的:(python 文件夹下所有图片每三张纵向拼接为一张图)