使用PIL翻译图像

Rav*_*310 3 python

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

Squ*_*all 10

Image.transform(size, method, data)method=Image.AFFINE返回其中的仿射变换矩阵(给定为6元组的图像的复制(a, b, c, d, e, f)通过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')
Run Code Online (Sandbox Code Playgroud)