python 多张图片拼接为一张长图

from PIL import Image
from os import listdir
'''
result_path_target  图片存放目标路径
cut_pictures 待拼接图片存放路径
num 图片命名以数字按序增加

'''

cut_pictures = r'E:\照片'
result_path_target = r'E:\照片\1'
num = 1

ims = [Image.open(cut_pictures+'\\'+fn)for fn in listdir(cut_pictures)  if fn.endswith(".jpg")]       #  打开路径下的所有图片
width,height = ims[0].size  #获取拼接图片的宽和高
print(ims)
result = Image.new(ims[0].mode,(width,height*len(ims)))
for j , im in enumerate(ims):
    result.paste(im,box=(0,j*height))
    print(j)
result.save(result_path_target+'\\'+'%s.jpg'%num)


下图是最初待拼接的图片,可以看到四张是大小一致的,多张图片拼接,最后拼接的结果是会按照第一张的图片大小来设定的,所以后面五张与第一张图片大小不一致的图片很可能不会全部显示出来,因此必须要使用大小一致的图片。


image.png

结果图,几张图片最后拼接的结果。大家可以仔细观察以下,顺序并不是按照我们看到的文件夹的图片顺序,这是因为计算机文件夹的显示顺序并不是我们程序读取此文件夹内容的顺序,图片拼接的顺序以程序读出的图片顺序为准。


image.png

这是程序读出的顺序


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容