目录图片 批量裁剪,缩放
import os
from PIL import Image
# 定义图片处理函数
def process_image(input_folder, output_folder,scale):
# 如果输出文件夹不存在,则创建
os.makedirs(output_folder,exist_ok=True)
# 使用 os.scandir() 遍历输入文件夹中的所有文件
with os.scandir(input_folder) as entries:
for entry in entries:
# 仅处理文件并确保是图片格式
if entry.is_file() and entry.name.lower().endswith(('png', 'jpg', 'jpeg', 'bmp', 'tiff')):
img_path = entry.path
# 打开图片
img = Image.open(img_path)
# 裁剪高度为500-1000区域
width, height = img.size
crop_area = (0, 500, width, min(1000, height)) # 确保不会超出图片的实际高度
cropped_img = img.crop(crop_area)
# 缩小两倍
resized_img = cropped_img.resize((cropped_img.width // scale, cropped_img.height // scale))
# 保存到新的文件夹
output_path = os.path.join(output_folder, entry.name)
resized_img.save(output_path)
# 指定输入和输出文件夹
input_folder = 'input_images'
output_folder = 'output_images'
# 处理图片
process_image(input_folder, output_folder,scale=2)