如何使用python代码调整图像大小?

问题描述 投票:0回答:1

我正在使用python代码(即“ Resize.py”)调整一堆图像的大小。但我收到以下错误:

File "C:\Users\NAJEEB\AppData\Local\Programs\Python\Python38-32\lib\site-packages\PIL\Image.py", line 2205, in thumbnail
    if x > size[0]:
TypeError: 'int' object is not subscriptable

这里是代码:

import os
from PIL import Image, ImageOps
import glob

pathIn = 'F:/prac'
pathOut = 'F:/prac'
name = 'resize.py'
newsize = 300*300
int_desiredLength = 3

if not os.path.exists(pathOut):
os.makedirs(pathOut)
for i, file in enumerate(glob.glob(pathIn + '/*')):

fname = name + '_{str_0:0>{str_1}}.jpg'.format(str_0=i+1, str_1=int_desiredLength)
im = Image.open(file)
im.thumbnail((newsize), Image.ANTIALIAS)
apparent_size = im.size
apparent_h, apparent_w = im.size
desired_h, desired_w = newsize
delt_h, delt_w = abs(apparent_h - desired_h), abs(apparent_w - desired_w)

padding = (delt_h // 2, delt_w // 2, delt_h - (delt_h // 2), delt_w - (delt_w // 2))
im = ImageOps.expand(im, padding)
desired_size = im.size
print('{0}: {1}====>{2}'.format(fname, apparent_size, desired_size))
im.save(os.path.join(pathOut, fname))
python tensorflow
1个回答
1
投票

您声明为size = 300*300

pil缩略图api要求大小为2个元素tuple,请使用

size = (300, 300)
© www.soinside.com 2019 - 2024. All rights reserved.