from PIL import Image
import os
def mergeFunc(image_files):
# 遍历图片列表,每次处理两张图片
for i in range(0, len(image_files), 2):
# 检查是否还有第二张图片可以合并
if i + 1 < len(image_files):
# 加载两张图片
img1 = Image.open(os.path.join(image_folder, image_files[i]))
img2 = Image.open(os.path.join(image_folder, image_files[i+1]))
# 确定新图片的大小
width = max(img1.width, img2.width)
height = img1.height + img2.height
# 创建新的空白图片
new_img = Image.new('RGB', (width, height))
# 合并图片
new_img.paste(img1, (0, 0)) # 第一张图片放在顶部
new_img.paste(img2, (0, img1.height)) # 第二张图片放在第一张下面
# 保存合并后的图片
output_filename = f'merged_{image_files[i].split(".")[0]}_{image_files[i+1].split(".")[0]}.png'
new_img.save(os.path.join(output_folder, output_filename))
else:
# 如果剩余的图片不足两张,只保存最后一张图片
img_last = Image.open(os.path.join(image_folder, image_files[-1]))
output_filename = f'single_{image_files[-1].split(".")[0]}.png'
img_last.save(os.path.join(output_folder, output_filename))
break # 跳出循环,因为已经没有更多的图片可以处理了
# 图片文件夹路径
image_folder = 'img'
# 输出文件夹路径
output_folder = 'hebing'
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 获取文件夹中所有图片的文件名(这里假设图片都是jpg格式)
image_files = [f for f in os.listdir(image_folder) if f.endswith('.png')]
# image_files.sort() # 确保图片按照文件名排序(如果需要)
print(image_files, 'image_files')
# mergeFunc(image_files)
pdf转图片工具 图片合并工具
需积分: 5 125 浏览量
2024-05-16
14:37:22
上传
评论
收藏 2KB ZIP 举报
程序员蜗牛
- 粉丝: 1059
- 资源: 75
最新资源
- 基于python后端开发框架
- seata-server 1.4.0和2.0.0
- signal-and-system信号与系统
- career.it.signals-systems信号与系统
- 基于TCP-IP实现的斗地主游戏(ARM-LINUX)C源码-95分以上课程设计
- Audio声卡驱动是一款系统音频处理的声卡驱动
- 面向计算机视觉的基础库,支持Linux、Windows及MacOS平台 提供了众多功能,包括基于PyTorch的通用训练框架等
- 基于LQR实现的车辆轨迹跟踪matlab源码+项目说明+超详细注释(高分项目)
- 视2.css
- Windows 10远程桌面服务配置文件rdpwrap10.0.22621.3593.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈