批量裁剪1000张命名格式统一的图片的可行方法有哪些?
批量图片裁剪解决方案
免费软件方案
无需写代码的轻量方案,推荐两款完全免费的本地工具:
- XnConvert(跨平台支持Windows/Mac/Linux)
- 打开软件后切换到「输入」标签,批量选中所有
imageX格式的原图导入 - 切换到「动作」标签,添加「裁剪」动作,按需设置裁剪规则(支持固定坐标、固定宽高、按比例裁剪等多种模式)
- 切换到「输出」标签,选择独立的结果存储文件夹,可保持原文件名规则,点击「转换」即可完成批量处理
- 打开软件后切换到「输入」标签,批量选中所有
- IrfanView(Windows平台专属)
- 打开软件后按
B键调出批量处理面板,导入所有目标图片 - 勾选「使用高级选项」,点击「高级」按钮设置裁剪参数后保存配置
- 选择输出目录,点击「开始」即可完成批量裁剪
- 打开软件后按
Python代码实现方案
适合需要灵活调整裁剪逻辑的场景,仅需依赖Pillow库:
- 先执行命令安装依赖:
pip install pillow - 运行以下代码即可,可按需修改开头的配置参数:
import os from PIL import Image # ------------ 配置区域 按需修改 ------------ # 原图存储文件夹路径 INPUT_FOLDER = "./原始图片" # 裁剪结果存储文件夹路径 OUTPUT_FOLDER = "./裁剪后图片" # 裁剪区域参数:左、上、右、下边缘的像素坐标 CROP_AREA = (100, 50, 600, 450) # 图片总数量 TOTAL_IMAGES = 1000 # 图片格式后缀 IMG_SUFFIX = ".png" # ------------------------------------------- # 自动创建输出文件夹 os.makedirs(OUTPUT_FOLDER, exist_ok=True) for idx in range(1, TOTAL_IMAGES + 1): input_path = os.path.join(INPUT_FOLDER, f"image{idx}{IMG_SUFFIX}") if not os.path.exists(input_path): print(f"跳过不存在的文件:image{idx}{IMG_SUFFIX}") continue try: with Image.open(input_path) as img: cropped = img.crop(CROP_AREA) cropped.save(os.path.join(OUTPUT_FOLDER, f"image{idx}{IMG_SUFFIX}")) print(f"已完成处理:image{idx}{IMG_SUFFIX}") except Exception as e: print(f"处理image{idx}{IMG_SUFFIX}失败,错误信息:{str(e)}")
如果需要按比例裁剪、自动居中裁剪等其他逻辑,修改CROP_AREA的计算规则即可适配
内容的提问来源于stack exchange,提问作者NFTCreator101
相关产品推荐
相关产品推荐

