Python - 使用 For 循环水平翻转图像
Python - Flip Image Horizontally Using For Loop
我正在尝试使用 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)
您需要在 X 轴的中途停下来。否则你将所有像素交换回它们的原始位置。
for x in range(width // 2):
您一直在穿过图像,但是当您穿过一半时,您已经翻转了图像。所以在剩下的路途中,你把它翻回原来的样子。
所以:
for x in range(width//2):
我正在尝试使用 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)
您需要在 X 轴的中途停下来。否则你将所有像素交换回它们的原始位置。
for x in range(width // 2):
您一直在穿过图像,但是当您穿过一半时,您已经翻转了图像。所以在剩下的路途中,你把它翻回原来的样子。
所以:
for x in range(width//2):