我正在使用以下 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')
如果图像旋转 x 度而不是 90,180,270,会有帮助,
关于python - 在 python : extrapolate background color 中旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49510225/