Content

一文详解如何使用Python批量拼接图片(小海豚按摩器)万万没想到

文章摘要

该Python脚本用于将多个小图像合并到一个大图像中。其主要功能包括: 1. **读取图像**:从指定文件夹中读取所有PNG格式的图像文件。 2. **计算尺寸**:获取小图像的宽度和高度,并按指定行数(n)和列数(m)计算大图像的总尺寸。 3. **创建大图像**:使用PIL库创建一个全白背景的大图像。 4. **粘贴图像**:将所有小图像按行和列排列粘贴到大图像上。 5. **保存结果**:将处理后的大图像保存为指定文件名。 该脚本通过参数n和m控制每行和每列的图像数量,适合自动化处理多张图像的需求。

import os import math from PIL import Image def merge_images(image_folder, output_file, n, m): # 获取所有图像文件的列表 image_files=[os.path.join(image_folder, f) for f in os.listdir(image_folder) if f.endswith(‘.png’)] # 计算每个小图像的大小和大图像的大小 image_count=len(image_files) if image_count==0: print(‘No image files found in the directory:’, image_folder) return # 计算小图像的大小以及大图像的大小 img=Image.open(image_files[0]) img_size0=img.size[0] img_size1=img.size[1] new_img_size0=img_size0 * n new_img_size1=img_size1 * m # 创建一个新的大图像 new_img=Image.new(‘RGB’, (new_img_size0, new_img_size1), ‘white’) # 将所有小图像粘贴到新图像的正确位置 for i, f in enumerate(image_files): row=int(i / n) col=i % n img=Image.open(f) img=img.resize((img_size0, img_size1)) new_img.paste(img, (col * img_size0, row * img_size1)) # 保存大图像 new_img.save(output_file) # 用法示例 image_folder=’C:/Users/someone/Desktop/img_denosing_test/paper_pics/set68/result’ output_file=’C:/Users/someone/Desktop/img_denosing_test/paper_pics/set68/result/output.png’ n=3 # 每行显示的图像数 m=2 # 每列显示的图像数 merge_images(image_folder, output_file, n, m)