Python图像反转

时间:2014-07-17 01:55:37

标签: python

我试图将图像翻转到完全相反(从左到右),似乎无法弄清楚代码。我知道如何将它们镜像一半等,但完整的翻转似乎是在逃避我。到目前为止我有这个:

def flip(source):
  width=getWidth(source)/2
  height=getHeight(source)
  for y in range(0,height):
    for x in range(0,width):
      leftPixel=getPixel(source,x,y)
      rightPixel=getPixel(source,width-x-1,y)
      color1=getColor(leftPixel)
      color2=getColor(rightPixel)
      setColor(rightPixel,color1)
      setColor(leftPixel,color2)

3 个答案:

答案 0 :(得分:1)

rightPixel=getPixel(source,width-x-1,y)

在这一行中,width应该是图像的整个宽度,而不是宽度的一半。我建议将/2移动到内循环范围内。

width  = getWidth (source)
height = getHeight(source)

for y in range(height):
  for x in range(width / 2):

答案 1 :(得分:0)

您的代码需要很长时间才能相对于ImageOps.mirror()Python Imaging Library函数运行。

答案 2 :(得分:0)

使用已实现的功能是一种不错的风格:

flip left <-> right

flip up <-> down