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