Python自动化脚本裁剪图片为1:1比例
一、创建输入文件夹(in)和输出文件夹(out),将原始图片放在输入文件夹(in)里
二、 安装对应的Python库
pip install Pillow
三、编写自动化脚本代码
import os
from PIL import Imagedef crop_images_to_square(input_folder, output_folder):# Create output folder if it doesn't existos.makedirs(output_folder, exist_ok=True)# Loop through all files in the input folderfor filename in os.listdir(input_folder):if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')):# Open imageimg_path = os.path.join(input_folder, filename)with Image.open(img_path) as img:# Get dimensionswidth, height = img.size# Calculate the new size (the smaller dimension)new_size = min(width, height)# Calculate cropping boxleft = (width - new_size) / 2top = (height - new_size) / 2right = (width + new_size) / 2bottom = (height + new_size) / 2# Crop imageimg_cropped = img.crop((left, top, right, bottom))# Save the cropped image to the output folderimg_cropped.save(os.path.join(output_folder, filename))print(f'Cropped and saved: {filename}')if __name__ == '__main__':input_folder = r'C:\Users\Administrator\Desktop\r\in' # Replace with your input folder pathoutput_folder = r'C:\Users\Administrator\Desktop\r\out' # Replace with your output folder pathcrop_images_to_square(input_folder, output_folder)
ps:input_folder为输入文件夹,output_folder为输出文件夹,需要注意的是如果是绝对路径,前面需要添加原始字符串r。
四、运行Python脚本,裁剪后的图片就保存在输出文件夹中
五、效果图
原图:
裁剪后: