python PIL如何才能把图片修改成正方形或者任意尺寸而不产生挤压

如题,我修改图片尺寸如果大小自定义就会产生挤压,在网上找了一个算法>>>img=Image.open('ee.jpg')>>>(x,y)=img.size>>>x_s=1... 如题,我修改图片尺寸如果大小自定义就会产生挤压,在网上找了一个算法

>>> img = Image.open('ee.jpg')

>>> (x, y) = img.size

>>> x_s = 190

>>> y_s = y * x_s / x

>>> out = img.resize((x_s, y_s), Image.ANTIALIAS)

>>> out.save('ff.jpg')
只不过这是按一定的比例修改图片尺寸,不能修改成任意尺寸,或者说不能改成正方形
有什么办法能把任意一张尺寸的图片改成正方形么
展开
 我来答
WM_THU
推荐于2017-12-16 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3928万
展开全部
改变图像尺寸有两类方法:
一是缩放(resize),即重采样。这时,如果图像纵横比发生变化就会导致“挤压”。
二是裁剪(crop)。当然图只能越裁越小;不过可以配合缩放,先放大再裁剪。
既然题主要求不能“挤压”,那就只能裁剪了。函数名我给出来了,具体用法题主自己研究。
追问
如果想要做成正方形的,先裁剪按短边长度裁剪成正方形,再缩放
心系吾
2019-04-19
知道答主
回答量:2
采纳率:0%
帮助的人:1442
展开全部

width 图像宽

height 图像高

from PIL import Image
im = Image.open('cs.jpg')
im = im.resize((width,height))  # 更改图像宽和高
im.show() # 显示图片
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7ea0447
2019-08-08 · TA获得超过103个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:80.5万
展开全部

使用裁剪(crop)

img.crop(0, 0, w, h)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式