我目前正在为学校编写一个程序,该程序允许我将 .ppm 文件加载到 main 中,然后运行一系列函数,允许用户以各种方式操作显示的图像文件(也可以通过另一个函数完成)方法。我需要能够操作此文件的一种方法是在水平轴上进行“翻转”。因此,我需要我的函数将每一行的元素移动到它们的“相反”位置。例如,如果我的数组看起来像这样 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] 我需要我的函数来扭转它 [ 14、13、12、11、10、9、8、7、6、5、4、3、2、1、0]。
注意:每 3 个元素代表一个像素的 RGB 值,所以我不确定中间 3 个元素应该如何表现,但我会认为它需要保持不变。
到目前为止,这是我的功能:
def Switch(image_arry, cols, rows):
for y in range(rows):
for x in range(0, cols):
r1 = image_arry[y][x*3]
g1 = image_arry[y][x*3+1]
b1 = image_arry[y][x*3+2]
r2 = image_arry[y][x*3 -3]
g2 = image_arry[y][x*3 - 2]
b2 = image_arry[y][x*3 - 1]
image_arry[y][x*3] = image_arry[y][x*3 -3]
image_arry[y][x*3+1] = image_arry[y][x*3 - 2]
image_arry[y][x*3+2] = image_arry[y][x*3 - 1]
注意:由于这是一门大学课程,我不允许在我的程序中使用我们在本课程中尚未涵盖的任何内容(这是一个 4 个月、100 级的课程,因此范围不是很广)。而且我也不允许使用 break 或 while(1) 语句。非常感谢您的帮助!