📑 本文导航
需求:100 张图,第 1+2 上下拼成图 1、3+4 拼成图 2…… 一共输出 50 张(两两纵向拼接)
重点:不是全部 100 张拼成一张长图,而是每 2 张一组上下拼接,批量一次性生成 50 张结果图
✅ 首选(Windows,最简单图形界面)
1. IrfanView(免费老牌看图软件,强烈推荐)
可以批量分组拼接,完美满足「两张一组上下合并」
- 优点:免费无水印、轻量、支持大量图片、可自动按文件名排序、纵向拼接(上下堆叠),一次性批量输出
- 使用思路:
- 把 100 张图片命名好
001.jpg、002.jpg……100.jpg(保证顺序正确) - 打开 IrfanView → 批量转换 / 重命名 → 高级选项 → 拼接图像,设置:垂直拼接,每组 2 张
- 设置输出文件夹,一键执行,自动生成 50 张合并后的图片
- 把 100 张图片命名好
2. XnView MP(跨平台 Windows/Mac,免费)
和 IrfanView 同类,可视化批量图像处理,分组拼图功能。 适合 Mac 用户,操作逻辑差不多,支持按文件名排序,两两纵向拼接批量导出。
✅ 备选:小工具(专门批量拼图)
- 哈皮批量拼图工具:界面直接设置「每组 2 张,上下拼接」,导入文件夹一键生成 50 张图,非常贴合你的需求
注意:网上下载这种小工具留意捆绑软件。
✅ 零安装:如果会一点点 Python(最稳定,无任何软件下载)
用 Pillow 脚本,直接读取文件夹图片,自动两两上下拼接,输出 50 张,完全可控,不会乱序。
from PIL import Image
import os
img_dir = "./pic" #原图文件夹
out_dir = "./out"
os.makedirs(out_dir, exist_ok=True)
files = sorted([f for f in os.listdir(img_dir) if f.endswith(("jpg","png","jpeg"))])
for i in range(0, len(files), 2):
if i+1 >= len(files): break
im1 = Image.open(os.path.join(img_dir, files[i]))
im2 = Image.open(os.path.join(img_dir, files[i+1]))
#统一宽度,上下拼接
w = max(im1.width, im2.width)
h = im1.height + im2.height
new_img = Image.new("RGB", (w, h), "white")
new_img.paste(im1, (0,0))
new_img.paste(im2, (0, im1.height))
new_img.save(os.path.join(out_dir, f"merge_{i//2+1}.jpg"))
只需要:把图片放进pic文件夹,运行脚本,结果自动到out文件夹。
❌ 其他说明
- 美图秀秀、WPS 图片:只能手动一次拼 2 张,100 张要手动操作 50 次,不适合批量;
- 在线网页拼接工具:大多只能一次性合并成一张大图,不能自动分组生成 50 张,上传 100 张大图容易卡顿、内存溢出;
- Photoshop:动作批量比较麻烦,学习成本高。
💡 重要前置提醒
图片文件名一定要排序(001、002、003…),软件会按文件名顺序分组,否则会拼错配对。
如果你用 Windows,优先直接装 IrfanView;如果你是 Mac,选 XnView MP。
