gpt4 book ai didi

python - 为什么此功能会为我的所有图像添加边框?

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:21 24 4
gpt4 key购买 nike

我正在使用 PIL。

im = im.rotate(angle=-90, expand = True)

当我这样做时,它会为我的图像添加一个灰色边框。

为什么?

这是完整的代码。请注意,如果我不旋转,它不会添加边框

def fixRotation(f, quality=96, image_type="JPEG"):
#http://sylvana.net/jpegcrop/exif_orientation.html
d =getEXIF(f)
if d:
orientation = int(d['Orientation'])
im = Image.open(StringIO(f))
if orientation == 6:
im = im.rotate(angle=-90, expand = True)
elif orientation == 3:
im = im.rotate(angle=-180, expand=True)
elif orientation == 8:
im = im.rotate(angle=-270, expand=True)
else:
#It doesn't add a border here.
im = im.rotate(0, expand=True)
res = StringIO()
im.save(res, image_type, quality=quality)
res.seek(0)
return res
else:
return StringIO(f)

最佳答案

我做了一些实验,确实图像大小发生了改变,但我没有理解确切的行为。在我看来,这像是 PIL 中的错误……您应该报告它。

如果你只需要 k*90 度然后做旋转你也可以使用 numpy...

img = Image.fromarray(numpy.rot90(numpy.array(img), n))

n为旋转90度的次数。

关于python - 为什么此功能会为我的所有图像添加边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com