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

在图像处理领域,我们经常需要对大批量图像进行下采样操作,以便减小图像的尺寸和文件大小,这对于节省存储空间和提高处理速度非常有帮助。手动操作不仅耗时,而且容易出错。为了解决这个问题,我们可以编写一个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,依次类推。
总结

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

感谢阅读!

相关推荐
大数据魔法师8 分钟前
1905电影网中国地区电影数据分析(一) - 数据采集、清洗与存储
爬虫·python
AI量化投资实验室20 分钟前
deap系统重构,再新增一个新的因子,年化39.1%,卡玛提升至2.76(附python代码)
大数据·人工智能·重构
张登杰踩28 分钟前
如何快速下载Huggingface上的超大模型,不用梯子,以Deepseek-R1为例子
人工智能
AIGC大时代29 分钟前
分享14分数据分析相关ChatGPT提示词
人工智能·chatgpt·数据分析
TMT星球1 小时前
生数科技携手央视新闻《文博日历》,推动AI视频技术的创新应用
大数据·人工智能·科技
五味香1 小时前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
AI视觉网奇1 小时前
图生3d算法学习笔记
人工智能
小锋学长生活大爆炸1 小时前
【DGL系列】dgl中为graph指定CSR/COO/CSC矩阵格式
人工智能·pytorch·深度学习·图神经网络·gnn·dgl
计算机徐师兄1 小时前
Python基于Django的花卉商城系统的设计与实现(附源码,文档说明)
python·django·python django·花卉商城系统·花卉·花卉商城·python花卉商城系统
机械心2 小时前
pytorch深度学习模型推理和部署、pytorch&ONNX&tensorRT模型转换以及python和C++版本部署
pytorch·python·深度学习