from pathlib import Path
from PIL import Image
if __name__=='__main__':
img_list=[]
imgs_path=Path('C:/Users/xpp/Desktop/images/')
for img in imgs_path.iterdir():
if img.suffix.lower() in ['.jpg','.png']:
img_list.append(Image.open(img.as_posix()))
width=0
height=0
for img in img_list:
#单幅图像尺寸
w,h=img.size
height+=h
#取最大的宽度作为拼接图的宽度
width=max(width,w)
result=Image.new(img_list[0].mode,(width,height))
#图像长图拼接
height=0
for img in reversed(img_list):
w,h=img.size
#水平居中
result.paste(img,box=(round(width/2-w/2),height))
height+=h
result.save('C:/Users/xpp/Desktop/result.png')
算法:图像长图拼接是将拼接图像放在数组里面,然后计算图像的最大宽度作为拼接后图像的宽度,进行横向或纵向拼接。
本文分享自 图像处理与模式识别研究所 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!