在图像处理领域,我们经常需要对大批量图像进行下采样操作,以便减小图像的尺寸和文件大小,这对于节省存储空间和提高处理速度非常有帮助。手动操作不仅耗时,而且容易出错。为了解决这个问题,我们可以编写一个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("批量下采样完成!")
使用说明
- 修改
source_path
为源图像文件夹的路径,result_path
为目标文件夹的路径。 - 设置下采样比例
scale
,例如1.0 / 8表示将图像尺寸缩小至原来的1/8。 - 运行脚本,程序会将源文件夹中的所有图像按比例下采样,并按顺序保存到目标文件夹中。
- 每个下采样后的图像文件命名格式为
00001.png
,00002.png
,依次类推。
总结
这个脚本可以帮助你轻松地批量下采样图像,节省了大量的时间和精力。希望这个教程对你有所帮助。如果你有任何问题或建议,欢迎在评论区留言讨论。
感谢阅读!