python实现将文件夹中的所有图像,组合成一张图,每张图顶部放上图片名的文字
时间: 2023-02-01 20:59:35 浏览: 193
可以使用 Python 的图像处理库 Pillow 来实现这个功能。
以下是一个示例代码:
```
from PIL import Image, ImageDraw, ImageFont
import os
# 设置文件夹路径
folder_path = '/path/to/folder'
# 读取文件夹中的所有图片
images = []
for file in os.listdir(folder_path):
file_path = os.path.join(folder_path, file)
if os.path.isfile(file_path) and file_path.endswith('.jpg'):
images.append(file_path)
# 计算出每张图片的高度,使得所有图片的总高度为 1000 像素
total_height = sum(Image.open(image).size[1] for image in images)
height = 1000
ratio = height / total_height
widths = []
for image in images:
w, h = Image.open(image).size
widths.append(int(w * ratio))
# 创建一个空白图片,用来保存最终的组合图
final_image = Image.new('RGB', (sum(widths), height))
# 循环处理每张图片
x_offset = 0
for image in images:
img = Image.open(image)
# 缩放图片
img = img.resize((widths[images.index(image)], int(img.size[1] * ratio)), Image.ANTIALIAS)
# 在空白图片上拼接图片
final_image.paste(img, (x_offset, 0))
x_offset += img.size[0]
# 循环处理每张图片的名称
draw = ImageDraw.Draw(final_image)
font = ImageFont.truetype('arial.ttf', 16)
y_offset = 0
for image in images:
draw.text((0, y_offset), os.path.basename(image), font=font, fill=(0, 0, 0))
y_offset += Image.open(image).size[1] * ratio
# 保存组合图片
final_image.save('final.jpg')
```
在上面的代码中,需要注意的是:
- 需要安装 Pillow 库,如果没有安装
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)