(Python) Код для вертикального перелистывания нижней половины изображения

#python

Вопрос:

Итак, у меня есть текст кода на Python, цель которого-перевернуть указанную область изображения по вертикали. Я тестировал его по разделам: вся картинка, верхняя и нижняя половины, левая и правая половины и каждый квадрант. Все тесты сработали, за исключением нижней половины, нижнего левого квадранта и нижнего правого квадранта, каждый из которых был поднят на 1/4 высоты изображения, чтобы быть посередине, а не внизу (хотя вертикальный переворот все еще происходит правильно). Может ли кто-нибудь дать некоторое представление о том, почему эти конкретные дела продвигаются, в то время как другие-нет?

 def flip_vertical(image, col_index, row_index, region_height, region_width):  for row in range(row_index, row_index   region_height//2):  for col in range(col_index, col_index   region_width):  temp = image[row][col]  image[row][col] = image[row_index   region_height - row - 1][col]  image[row_index   region_height - row - 1][col] = temp  return image  

Для справки, входные данные, которые я использовал, были следующими:

Нижняя половина: flip_vertical(изображение, 0, len(img)//2, len(img)//2, len(img[0]))

Нижний левый квадрант: flip_vertical(изображение, 0, len(изображение)//2, len(изображение)//2, len(изображение[0])//2

Правый нижний квадрант: flip_vertical(изображение, len(изображение[0])//2, len(изображение)//2, len(изображение)//2, len(изображение[0])//2)