在 Python 中使用 for 循环垂直翻转图像
Flipping an image vertically using for loops in Python
我试图垂直翻转图像,但保存的图像最终是同一幅图像。我以为做 new_image.set_pixel(height-1)-r.... 会将像素发送到转置的垂直部分。关于我做错了什么,你能给我一些指导吗?
def flip_vert(filename):
img = load_image(filename)
height = img.get_height()
width = img.get_width()
new_img = Image(height, width)
for r in range(height):
for c in range(width):
temp = img.get_pixel(r, c)
temp2 = new_img.get_pixel(r, c)
new_img.set_pixel((height-1)-r,(width-1)-c,temp)
new_filename = 'flipv_test' + filename
img.save(new_filename)
在你的最后一行你需要:
new_img.save(new_filename)
正如现在所写,您正在保存 img
,这是原始版本。
我试图垂直翻转图像,但保存的图像最终是同一幅图像。我以为做 new_image.set_pixel(height-1)-r.... 会将像素发送到转置的垂直部分。关于我做错了什么,你能给我一些指导吗?
def flip_vert(filename):
img = load_image(filename)
height = img.get_height()
width = img.get_width()
new_img = Image(height, width)
for r in range(height):
for c in range(width):
temp = img.get_pixel(r, c)
temp2 = new_img.get_pixel(r, c)
new_img.set_pixel((height-1)-r,(width-1)-c,temp)
new_filename = 'flipv_test' + filename
img.save(new_filename)
在你的最后一行你需要:
new_img.save(new_filename)
正如现在所写,您正在保存 img
,这是原始版本。