【问题标题】:Python: How to resize an image using PIL modulePython:如何使用 PIL 模块调整图像大小
【发布时间】:2016-10-04 12:53:44
【问题描述】:

我正在尝试将图像大小调整为 500x500 像素,但出现此错误:

File "C:\Python27\lib\site-packages\PIL\Image.py", line 1681, in save
     save_handler = SAVE[format.upper()] KeyError: 'JPG'

这是代码:

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500))
new_img.save('car_resized','jpg')

【问题讨论】:

  • 在保存功能中尝试“JPEG”而不是“jpg”

标签: python python-2.7 python-2.x image-resizing


【解决方案1】:

您需要将调用保存函数中的格式参数设置为“JPEG”:

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500))
new_img.save("car_resized.jpg", "JPEG", optimize=True)

【讨论】:

  • 它是否仍然保留整个图像?还是会裁剪?
  • 它将保留整个图像。使用img.crop() 进行裁剪
【解决方案2】:

解决方法如下:

from PIL import Image
img = Image.open('car.jpg')
new_img = img.resize((500,500), Image.ANTIALIAS)
quality_val = 90 ##you can vary it considering the tradeoff for quality vs performance
new_img.save("car_resized.jpg", "JPEG", quality=quality_val)

PIL 中有一系列重采样技术,例如 ANTIALIASBICUBICBILINEARCUBICANTIALIAS 被认为是缩小规模的最佳选择。

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多