将图像尺寸更改为PIL的一半

时间:2020-09-09 05:23:38

标签: python image-processing

有一幅尺寸为1920 x 1080的图像,我想将其缩小一半

我的代码:-

from PIL import Image
image = Image.open('MysticHorizon.jpg')
# new_image = image.resize((960, 540)) I dont want to do it like this
# new_image.save('imageresized.jpg')
i = (image.size)
for a in i:
    a = int(a/2)
    print(a)
    
for j in a:
    print(j, end= ",")
newimage = image.resize((a))
newimage.save('halfresized.jpg')

我遇到错误

”代表a中的j: TypeError:“ int”对象不可迭代“

1 个答案:

答案 0 :(得分:0)

size方法返回一个元组。第一个循环拆分元组,第二个循环尝试迭代该元组的最后一个元素,该元素是整数,因此会出错。

要减小图像尺寸,请尝试以下代码:

from PIL import Image
image = Image.open('MysticHorizon.jpg')
i = image.size   # current size (height,width)
i = i[0]//2, i[1]//2  # new size
newimage = image.resize(i)
newimage.save('halfresized.jpg')