在python中旋转图像:推断背景颜色

Pet*_*ter 4 python image colors rotation python-imaging-library

我正在使用以下 python 代码旋转图像:

from PIL import Image

img = Image.open('banana.jpg')
rotated = img.rotate(10)
rotated.save('banana-rotated.jpg')
Run Code Online (Sandbox Code Playgroud)

这进行了以下转换:

在此处输入图片说明在此处输入图片说明

如您所见,背景是黑色的。这个问题询问如何用特定颜色填充背景。但是,我想用图像的颜色填充背景。因为我需要旋转很多图像,所以我不想将背景设置为固定颜色。

有没有办法在边缘扩展图像并从图像中推断出颜色?理想情况下,如果图像没有统一的背景,这也适用。

小智 5

这可能会有所帮助: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')
Run Code Online (Sandbox Code Playgroud)

如果图像旋转了 x 度而不是 90,180,270,可能会有所帮助,

  • 我认为作者已经明确表示他不想使用硬编码颜色(如“白色”),而是从图像中推断出的颜色。 (2认同)