如何批量裁剪3000张图片?
批量裁剪3000张图片的解决方案
一、免费软件批量裁剪方案
1. IrfanView
- 打开IrfanView,点击顶部菜单栏的
File->Batch Conversion/Rename - 在弹出窗口中,点击
Add按钮选中目标文件夹内所有图片(可按Ctrl+A全选) - 在
Output directory栏设置裁剪后图片的保存路径(独立文件夹) - 点击
Advanced按钮,在弹出窗口中找到Crop选项,输入裁剪的起始坐标和宽高(例如Left: 100, Top: 100, Width: 500, Height: 500),勾选Use these settings - 返回主批量窗口,确认
Save as type选择对应图片格式,点击Start Batch启动处理
2. XnConvert
- 打开XnConvert,点击
Add files导入所有目标图片 - 在左侧
Actions面板中,选择Image->Crop,可手动拖拽预览框或输入数值设置裁剪区域 - 切换到
Output标签页,设置输出文件夹(独立文件夹)和输出格式 - 点击
Convert按钮开始批量裁剪
二、Python代码实现方案
使用Pillow库实现批量裁剪,先通过命令安装依赖:
pip install pillow
以下是可直接使用的代码,根据实际需求修改参数即可:
from PIL import Image import os # 自定义配置参数 input_folder = "./original_images" # 原始图片所在文件夹路径 output_folder = "./cropped_images" # 裁剪后图片的保存路径(独立文件夹) # 裁剪区域格式:(左边界x坐标, 上边界y坐标, 右边界x坐标, 下边界y坐标),按需修改数值 crop_box = (100, 100, 600, 600) # 创建输出文件夹(不存在则自动创建) os.makedirs(output_folder, exist_ok=True) # 遍历处理所有符合命名规则的图片 for filename in os.listdir(input_folder): if filename.startswith("img") and filename.endswith((".png", ".jpg", ".jpeg")): try: img_full_path = os.path.join(input_folder, filename) with Image.open(img_full_path) as img: # 执行裁剪 cropped_img = img.crop(crop_box) # 保存到目标文件夹 save_path = os.path.join(output_folder, filename) cropped_img.save(save_path) print(f"完成处理:{filename}") except Exception as e: print(f"处理{filename}失败:{str(e)}")
代码说明:
- 修改
input_folder和output_folder为实际的文件夹路径 - 调整
crop_box的四个数值来定义裁剪区域 - 代码会自动跳过非图片文件,并打印处理进度和错误信息
内容的提问来源于stack exchange,提问作者Mido
相关产品推荐
相关产品推荐

