【脚本工具库】批量下采样图像(附源码)

在图像处理领域,我们经常需要对大批量图像进行下采样操作,以便减小图像的尺寸和文件大小,这对于节省存储空间和提高处理速度非常有帮助。手动操作不仅耗时,而且容易出错。为了解决这个问题,我们可以编写一个Python脚本,使用PIL库来自动化这个过程。本文将详细介绍如何编写一个批量下采样图像的脚本。

准备工作

在开始之前,请确保你的系统上已经安装了Python环境,并且安装了PIL(Python Imaging Library)库。可以使用以下命令安装PIL库:

bash 复制代码
pip install pillow
脚本源码

以下是完整的Python脚本源码,该脚本可以将指定文件夹中的图像按比例下采样,并保存到目标文件夹中。

python 复制代码
from PIL import Image
import os

# 下采样比例设置
scale = 1.0 / 8  # 下采样的倍数
source_path = r"E:\label2"  # 源图像文件夹路径
result_path = r"E:\label3"  # 结果图像文件夹路径

# 确保结果文件夹存在
if not os.path.exists(result_path):
    os.makedirs(result_path)

# 获取源文件夹中的所有图像文件,并按文件名排序
files = os.listdir(source_path)
files.sort(key=lambda x: int(x.split('.')[0]), reverse=False)

cnt = 1  # 用于结果文件命名的计数器

# 批量下采样并保存图像
for file in files:
    img = Image.open(os.path.join(source_path, file))
    if img.mode == "P":
        img = img.convert('RGB')
    width = int(img.size[0] * scale)
    height = int(img.size[1] * scale)
    img_resize = img.resize((width, height), Image.LANCZOS)
    img_resize.save(os.path.join(result_path, "%05d.png" % cnt))
    cnt += 1

print("批量下采样完成!")
使用说明
  1. 修改source_path为源图像文件夹的路径,result_path为目标文件夹的路径。
  2. 设置下采样比例scale,例如1.0 / 8表示将图像尺寸缩小至原来的1/8。
  3. 运行脚本,程序会将源文件夹中的所有图像按比例下采样,并按顺序保存到目标文件夹中。
  4. 每个下采样后的图像文件命名格式为00001.png, 00002.png,依次类推。
总结

这个脚本可以帮助你轻松地批量下采样图像,节省了大量的时间和精力。希望这个教程对你有所帮助。如果你有任何问题或建议,欢迎在评论区留言讨论。

感谢阅读!

相关推荐
java1234_小锋6 分钟前
Scikit-learn Python机器学习 - 特征预处理 - 标准化 (Standardization):StandardScaler
python·机器学习·scikit-learn
Python×CATIA工业智造6 分钟前
Python带状态生成器完全指南:从基础到高并发系统设计
python·pycharm
向qian看_-_35 分钟前
Linux 使用pip报错(error: externally-managed-environment )解决方案
linux·python·pip
Nicole-----1 小时前
Python - Union联合类型注解
开发语言·python
TDengine (老段)1 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
蓝桉8022 小时前
如何进行神经网络的模型训练(视频代码中的知识点记录)
人工智能·深度学习·神经网络
星期天要睡觉2 小时前
深度学习——数据增强(Data Augmentation)
人工智能·深度学习
笑脸惹桃花3 小时前
50系显卡训练深度学习YOLO等算法报错的解决方法
深度学习·算法·yolo·torch·cuda
南山二毛3 小时前
机器人控制器开发(导航算法——导航栈关联坐标系)
人工智能·架构·机器人
大数据张老师3 小时前
【案例】AI语音识别系统的标注分区策略
人工智能·系统架构·语音识别·架构设计·后端架构