如何将文件夹A内的若干张图片四个一组进行拼接(共两行第一行两张照片第二行两张照片)要求最后的拼接结果为一矩形(将多余的部分裁减掉)并把结果输出到文件夹B(代码)
时间: 2024-05-02 20:19:07 浏览: 28
可以使用Python的Pillow库来实现这个需求,代码如下:
``` python
import os
from PIL import Image
# 定义每行显示图片数量
row_size = 2
# 定义每列显示图片数量
col_size = 2
# 定义输入文件夹路径和输出文件夹路径
input_folder = 'A'
output_folder = 'B'
# 判断输出文件夹是否存在,如果不存在则创建
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 获取输入文件夹内所有图片文件的文件名
file_names = [f for f in os.listdir(input_folder) if f.endswith('.jpg')]
# 计算输出图片的宽度和高度
img_width = row_size * Image.open(os.path.join(input_folder, file_names[0])).width
img_height = col_size * Image.open(os.path.join(input_folder, file_names[0])).height
# 创建输出图片对象
output_img = Image.new('RGB', (img_width, img_height))
# 遍历输入文件夹内的所有图片,将它们拼接到输出图片中
for i, file_name in enumerate(file_names):
# 计算当前图片应该位于拼接图片的哪个位置
row_index = i % row_size
col_index = i // row_size
left = row_index * Image.open(os.path.join(input_folder, file_name)).width
upper = col_index * Image.open(os.path.join(input_folder, file_name)).height
right = (row_index + 1) * Image.open(os.path.join(input_folder, file_name)).width
lower = (col_index + 1) * Image.open(os.path.join(input_folder, file_name)).height
# 将当前图片拼接到输出图片中
output_img.paste(Image.open(os.path.join(input_folder, file_name)), (left, upper, right, lower))
# 裁剪输出图片,使其成为一个矩形
output_img = output_img.crop(output_img.getbbox())
# 将拼接好的图片保存到输出文件夹中
output_img.save(os.path.join(output_folder, 'result.jpg'))
# 输出拼接结果
print('已将文件夹A内的若干张图片四个一组进行拼接,并将结果输出到文件夹B!')
```
注意:在运行这个代码之前需要先安装Pillow库,可以使用以下命令在命令行中安装:
```
pip install Pillow
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)