下面是一个 Python 脚本,它会遍历指定的输入目录 (input_dir
),按相同的目录结构,将图像保存到新目录 (output_dir
),并按每隔 3 张保存 1 张的方式进行精简处理。
这个脚本会:
- 遍历
input_dir
目录及其子目录。 - 过滤出常见格式的图像文件(
.jpg
、.jpeg
、.png
、.bmp
)。 - 按原目录结构在
output_dir
创建对应的子目录。 - 每 3 张图像中保存 1 张到新目录。
你可以修改 input_dir
和 output_dir
变量来适配你的数据路径。
import os
import shutil
# 设置输入输出目录
input_dir = "path/to/input" # 替换为你的输入目录
output_dir = "path/to/output" # 替换为你的输出目录
# 确保输出目录存在
os.makedirs(output_dir, exist_ok=True)
# 遍历所有文件夹
for root, dirs, files in os.walk(input_dir):
# 过滤出图像文件(可根据需要调整格式)
image_files = sorted([f for f in files if f.lower().endswith((".jpg", ".jpeg", ".png", ".bmp"))])
# 计算相对路径,并创建对应的输出目录
relative_path = os.path.relpath(root, input_dir)
new_root = os.path.join(output_dir, relative_path)
os.makedirs(new_root, exist_ok=True)
# 选择每隔 3 张保存 1 张
for i, file in enumerate(image_files):
if i % 3 == 0:
src_path = os.path.join(root, file)
dst_path = os.path.join(new_root, file)
shutil.copy2(src_path, dst_path) # 复制文件,保留元数据
print("处理完成!")