Python脚本批量处理图片,缩放裁剪压缩到指定大小
本文将介绍如何使用 Python 编写脚本批量处理图片。我们将使用 Pillow 库来缩放、裁剪和压缩图片,并使用 MD5 哈希值来重命名输出文件。通过本文的学习,您将学习如何使用 Python 快速自动化处理大量图片。 简介 对于需要处理大量图片的工作,例如调整图片大小、裁剪图片等,手动处理是非常繁琐的。为了提高工作效率,我们可以使用 Python 编写脚本来自动化这些任务。在本文中,我们将介绍如何使用 Python 编写脚本来批量处理图片。 环境准备 在开始编写脚本之前,我们需要确保已安装必要的库。在本文中,我们将使用 Pillow 库来处理图片。您可以使用以下命令来安装 Pillow 库: pip install Pillow 编写 Python 脚本 from PIL import Image import os import hashlib input_folder = "/Users/rakers/Library/Containers/com.macosgame.iwallpaperstatic/Data/Documents/OriginalImage/" # 原始图片文件夹路径 output_folder = "./thumb/" # 处理后图片文件夹路径 target_size = (1920, 1080) # 目标大小 if not os.path.exists(output_folder): os.makedirs(output_folder) for filename in os.listdir(input_folder): if not (filename.endswith('.png') or filename.endswith('.jpeg') or filename.endswith('.jpg')): continue try: with Image.open(os.path.join(input_folder, filename)) as img: width, height = img.size if width < height: new_width = target_size[0] new_height = int(height * new_width / width) else: new_height = target_size[1] new_width = int(width * new_height / height) resized_img = img.resize((new_width, new_height)) cropped_img = resized_img.crop((0, 0, target_size[0], target_size[1])) # 获取文件的MD5哈希值,并用它作为新文件名 hash_md5 = hashlib.md5(cropped_img.tobytes()) new_filename = hash_md5.hexdigest() + '.jpg' cropped_img.save(os.path.join(output_folder, new_filename), 'JPEG', quality=95) except Exception as e: print(f"Error processing {filename}: {str(e)}") 运行测试 python3 thumb.py 坐等输出: ...