You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用PIL调整图片尺寸:如何实现宽高一致?

解决PIL resize后尺寸不符合预期的问题

问题原因

PIL的Image.resize()方法要求第一个参数是包含宽高的元组(格式为(width, height))。你直接传入两个独立整数106,106,会被错误解析为:第一个参数是106(不符合尺寸参数的类型要求),第二个参数对应方法的resample采样参数,这会导致非预期的尺寸结果。

正确写法

将尺寸参数包装成元组,即可得到106x106的图片:

from PIL import Image

# 打开图片
img = Image.open("原图片路径")
# 传入(width, height)元组进行缩放
img = img.resize((106, 106))
# 保存处理后的图片
img.save(img_path)

可选:保持原图比例生成正方形图片

如果需要在缩放时保留原图内容比例(避免拉伸变形),可以先将原图裁剪为正方形,再缩放至目标尺寸:

from PIL import Image

img = Image.open("原图片路径")
width, height = img.size
# 取宽高中较小值作为正方形边长
side = min(width, height)
# 计算裁剪区域(居中裁剪)
crop_box = ((width - side)//2, (height - side)//2, (width + side)//2, (height + side)//2)
# 裁剪+缩放
img_cropped = img.crop(crop_box)
img_resized = img_cropped.resize((106, 106))
img_resized.save(img_path)

内容的提问来源于stack exchange,提问作者cm48

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:42:16