You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python批量裁剪文件夹内图片并按指定尺寸导出至自定义目录

批量裁剪文件夹内图片并保存的解决方案

可以用Python结合OpenCV实现批量处理,以下是完整代码,支持指定输入输出目录、批量读取图片、裁剪后保存:

import cv2
import os

# 配置参数 - 请根据需求修改
INPUT_DIR = "原图片文件夹路径"  # 示例: "./input_images"
OUTPUT_DIR = "裁剪后图片保存路径"  # 示例: "./cropped_images"
# 裁剪区域参数:起始坐标(x,y),裁剪高度h,宽度w
CROP_X = 0
CROP_Y = 0
CROP_HEIGHT = 1000
CROP_WIDTH = 1356

# 创建输出目录(如果不存在则自动创建)
os.makedirs(OUTPUT_DIR, exist_ok=True)

# 遍历输入目录下的所有文件
for filename in os.listdir(INPUT_DIR):
    # 筛选常见的图片格式
    if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
        # 拼接完整的图片路径
        img_full_path = os.path.join(INPUT_DIR, filename)
        # 读取图片
        image = cv2.imread(img_full_path)
        # 跳过读取失败的文件
        if image is None:
            print(f"跳过无法读取的文件: {filename}")
            continue
        # 执行裁剪(OpenCV图像的索引顺序为[y, x])
        cropped_img = image[CROP_Y:CROP_Y+CROP_HEIGHT, CROP_X:CROP_X+CROP_WIDTH]
        # 拼接输出文件路径
        output_full_path = os.path.join(OUTPUT_DIR, filename)
        # 保存裁剪后的图片
        cv2.imwrite(output_full_path, cropped_img)
        print(f"已完成: {output_full_path}")

print("所有图片批量裁剪完成!")

关键说明

  • 参数配置:修改INPUT_DIR和OUTPUT_DIR为你的实际文件夹路径,调整CROP_X、CROP_Y、CROP_HEIGHT、CROP_WIDTH设置需要的裁剪区域。
  • 自动创建目录:os.makedirs(OUTPUT_DIR, exist_ok=True)会自动生成输出文件夹,无需手动创建。
  • 格式兼容:代码会自动筛选常见图片格式,若有其他格式可自行添加到后缀判断列表中。
  • 错误处理:遇到无法读取的文件会自动跳过并提示,避免程序中断。

内容的提问来源于stack exchange,提问作者Neko Lim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:30:29