使用'Image.ANTIALIAS'调整大小时Python PIL出现故障

1 投票
1 回答
873 浏览
提问于 2025-04-17 23:44

如果我在Python中使用

img=img.resize((w,h), Image.ANTIALIAS)

来调整图像大小,它只给我图像的左半部分。没有使用抗锯齿时效果还不错,但看起来很丑。有没有人遇到过这个问题?这里有一个简单的示例,不管我尝试了哪个tif格式的图像,它都能工作或失败:

import Image
import numpy as np
import matplotlib.pyplot as plt

img=Image.open("test.tif")
img=img.resize((300,300), Image.ANTIALIAS)
imgm=np.asarray(img.getdata()).reshape(img.size[1],img.size[0])
imgm=np.log10(imgm)

imgview=plt.imshow(imgm)

编辑:重复这个操作时,图像的右侧每次都不同,虽然它通常包含了原始图像左侧的一些故障部分。

1 个回答

1

这段内容对我来说在使用Pillow的时候似乎没问题,使用的是MARBLES.TIF这个文件:

from PIL import Image

img=Image.open("MARBLES.TIF")
img=img.resize((300,300), Image.ANTIALIAS)

img.show()

添加:

img.save("test.png")

我得到了:

test.png

撰写回答