我用以下python代码旋转图像:
from PIL import Image
img = Image.open('banana.jpg')
rotated = img.rotate(10)
rotated.save('banana-rotated.jpg')
这使得以下转变:
如您所见,背景为黑色。 This question询问如何用特定的颜色填充背景。但是,我想用图像的颜色填充背景。因为我需要旋转许多图像,所以我不想将背景设置为固定颜色。
有没有办法在边缘扩展图像,从图像中外推出一种颜色?理想情况下,如果图像没有统一的背景,这也可以。
这可能会有所帮助:https://pillow.readthedocs.io/en/5.2.x/releasenotes/5.2.0.html#image-rotate
Pillow 5.2.0起,一个名为fillcolor
的新命名参数已添加到Image.rotate
。此颜色指定在旋转图像外部区域中使用的背景颜色。
image.rotate(45, fillcolor='white')
如果图像旋转了90度,而不是90,180,270,可以提供帮助,