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

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

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

感谢阅读!

相关推荐
向成科技1 天前
XC3588N工控主板助力电力巡检机器人
人工智能·rk3588·安卓·硬件·工控主板·主板
taxunjishu1 天前
DeviceNet 转 EtherCAT:发那科焊接机器人与倍福 CX5140 在汽车焊装线的高速数据同步通讯配置案例
人工智能·区块链·工业物联网·工业自动化·总线协议
E___V___E1 天前
设计模式--装饰器模式
python·设计模式·装饰器模式
sali-tec1 天前
C# 基于halcon的视觉工作流-章33-矩状测量
开发语言·人工智能·算法·计算机视觉·c#
格林威1 天前
短波红外相机在机器视觉检测方向的应用
运维·人工智能·深度学习·数码相机·计算机视觉·视觉检测
Dan.Qiao1 天前
pycharm如何处理python项目间引用
ide·python·pycharm
这儿有一堆花1 天前
DeepSeek-VL 解析:混合视觉-语言模型如何超越传统计算机视觉方法
人工智能·计算机视觉·语言模型
万粉变现经纪人1 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘sympy’问题
python·beautifulsoup·pandas·scikit-learn·pyqt·pip·scipy
model20051 天前
ubuntu24.04+5070ti训练yolo模型(2)
人工智能·yolo
xiaohouzi1122331 天前
Python读取视频-硬解和软解
python·opencv·ffmpeg·视频编解码·gstreamer