from PIL import Image
import os
src_dir = ' ' # 所要读取的图像数据集所在目录
dst_dir = '' # 处理后存储地址
# 遍历指定目录中的所有文件
for idx,file in enumerate(os.listdir(src_dir)):
img_path = os.path.join(src_dir, file)
new_name = '{:06d}.bmp'.format(idx + 1) # 自定义新的文件名规则(以数字顺序命名)
target_size = 1000
img = Image.open(img_path)
n_width, n_height = img.size
n_dpi = img.info["dpi"] # 读入原始图像,并获取其大小和 DPI
# 计算输出图像的 DPI
scale_factor = max(n_width / target_size, n_height / target_size)
out_dpi = tuple(int(dpi / scale_factor) for dpi in n_dpi)
img_resized = img.copy()
img_resized.info["dpi"] = out_dpi
# 使用 PIL 库重新采样图像并保存
out_img = img_resized.resize((int(n_width / scale_factor), int(n_height / scale_factor)))
print(out_img.size)
plt.figure()
# plt.imshow(out_img),plt.show()
out_img.save(os.path.join(dst_dir, new_name))
plt.close()
图像修改后显示效果如下