#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)