使用PIL调整文件夹中所有图像的大小

时间:2019-03-08 22:09:05

标签: python resize python-imaging-library

我可以一次调整每个图像的大小,但是如何以类似的方式调整一个文件夹中所有图像的大小?请帮助我。

from PIL import Image
from resizeimage import resizeimage
    with open('test-image.jpeg', 'r+b') as f:
        with Image.open(f) as image:
            cover = resizeimage.resize_cover(image, [200, 100])
            cover.save('test-image-cover.jpeg', image.format)

2 个答案:

答案 0 :(得分:0)

只需遍历当前目录中的文件

 action.auto_create_index: "+.*"

答案 1 :(得分:0)

已更新:由于需要从原始文件生成新的文件名,因此现在使用os.listdir()而不是glob.glob()。现在,代码将调整大小的图像及其原始文件和添加的后缀保存在同一文件夹中。

请注意,Image.open()希望传递一个文件路径,而不是打开的文件。

import os
from PIL import Image
from resizeimage import resizeimage

img_folder = '/path/to/img_folder'
fileext = '.jpg'
suffix = '_RESIZED'

for img_filename in os.listdir(img_folder):
    filename, ext = os.path.splitext(img_filename)

    if ext == fileext:
        print(filename, ext)
        src_img_filepath = os.path.join(img_folder, img_filename)
        dst_img_filepath = os.path.join(img_folder, filename+suffix, ext)

        with Image.open(src_img_filepath) as image:
            cover = resizeimage.resize_cover(image, [200, 100])
            cover.save(dst_img_filepath, image.format)