【问题标题】:Translate image using PIL [duplicate]使用 PIL 翻译图像 [重复]
【发布时间】:2016-06-02 16:54:31
【问题描述】:

如何使用 PIL 和 python 在四个方向之一中将图像转换 5 个像素。我已经看到我们可以使用im.transform(size, AFFINE, data),但我不知道如何使用。

【问题讨论】:

  • 您在寻找什么样的输出?你想让图像环绕吗?您能否举例说明图像的外观以及您迄今为止所做的尝试?
  • 不,图像不需要环绕。空白区域应为黑色。

标签: python


【解决方案1】:

Image.transform(size, method, data)method=Image.AFFINE 返回图像的副本,其中应用了仿射变换矩阵(以 6 元组 (a, b, c, d, e, f)via data 给出)。对于每个像素(x, y),输出将计算为(ax+by+c, dx+ey+f)。因此,如果您想应用翻译,您只需查看矩阵的 cf 值。

from PIL import Image

img = Image.new('RGB', (100, 100), 'red')
a = 1
b = 0
c = 0 #left/right (i.e. 5/-5)
d = 0
e = 1
f = 0 #up/down (i.e. 5/-5)
img = img.transform(img.size, Image.AFFINE, (a, b, c, d, e, f))
img.save('image.png')

【讨论】:

    猜你喜欢
    • 2017-11-24
    • 2020-01-30
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    相关资源
    最近更新 更多