Python - 使用For循环水平翻转图像

new*_* 21 2 python for-loop image flip

我正在尝试使用for循环逐个像素地水平翻转图像.如果可能的话,试着纠正我所拥有的东西,而不是提供一种完全不同的方法(即使更有效率或pythonic),以帮助我和其他人从我的错误中吸取教训.谢谢你的帮助.

def flip(img):
   width = img.size[0]
   height = img.size[1]
   for y in range(height):
       for x in range(width):
           left = img.getpixel((x, y))
           right = img.getpixel((width - 1 - x, y))
           img.putpixel((width - 1 - x, y), left)
           img.putpixel((x, y), right)
Run Code Online (Sandbox Code Playgroud)

Joh*_*ooy 6

你需要沿X轴停止一半.否则,您将所有像素交换回原始位置.

   for x in range(width // 2):
Run Code Online (Sandbox Code Playgroud)