python统一图片尺寸

289 阅读1分钟

下列图片宽高像素各不相同。我们需要将它们统一调整为600*800的大小。这里介绍使用python实现这一目标的方法。原始图片放在同目录的img文件夹下,调整后的图片放在uimg文件夹下面。

image.png

统一图片尺寸代码

# 获取输入文件夹中的所有文件
files = os.listdir('./img')
output_dir = './uimg/'
# 判断输出文件夹是否存在,不存在则创建
if not os.path.exists(output_dir):
    os.makedirs(output_dir)
for file in files:
    if file[-4:] == ".jpg":
        img = Image.open('./img/' + file)
        # 将所有图片均转成RGB,防止图片格式异常
        img = img.convert('RGB')
        # resize图片大小设置成600*800
        img = img.resize((600, 800), Image.ANTIALIAS)
        img.save(os.path.join(output_dir, file))`

代码运行效果展示

image.png

为方便代码高效复用,以下将上述代码函数化

def unified_image(image_name):
    # 获取输入文件夹中的所有文件
    files = os.listdir('./' + image_name)
    output_dir = './uimg/'
    # 判断输出文件夹是否存在,不存在则创建
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    for file in files:
        if file[-4:] == ".jpg":
            img = Image.open(image_name + '/' + file)
            # 将所有图片均转成RGB,防止图片格式异常
            img = img.convert('RGB')
            # resize图片大小设置成600*800
            img = img.resize((600, 800), Image.ANTIALIAS)
            img.save(os.path.join(output_dir, file))