使用PIL在python中调整图像大小

时间:2019-08-05 15:38:27

标签: python python-imaging-library

我正在尝试调整一组图像的大小,大约为366,因此我创建了一个脚本,该脚本在3上进行了首次测试,并且成功。

问题是当我处理整个文件夹时,它会向我返回此错误:

resizeimage.imageexceptions.ImageSizeError: 'Image is too small, Image size : (275, 183), Required size : (399, 399)'

我的脚本应该遍历整个文件夹,调整图像大小,然后将输出文件存储在另一个文件夹中:

import os

from PIL import Image

from resizeimage import resizeimage

path = "/Users/sigc2sige/PycharmProjects/helloworld/photos"
size = (399, 399)

for file in os.listdir(path):
    with open('/Users/sigc2sige/PycharmProjects/helloworld/photos/'+file, 'r+b') as f:
        with Image.open(f) as image:
            cover = resizeimage.resize_cover(image, size, Image.ANTIALIAS)
            cover.save('/Users/sigc2sige/PycharmProjects/helloworld/photos_2/'+file, image.format)

我确实使用了此指令:

thumb = ImageOps.fit(image, size, Image.ANTIALIAS),但我相信它会裁剪图像而不是调整其大小。

如果您对解决此问题有任何想法,那就太好了。

1 个答案:

答案 0 :(得分:1)

对图像进行下采样(使图像变小)是一回事,对图像进行上采样(使图像变大)是另一回事。如果要降采样,ANTIALIAS是一个不错的选择,如果要升采样,还可以使用其他过滤器。

EVP_CIPHER