Обмен: (требуется импорт: numpy as np, cv2)
height, width = image.shape[0:2]
cutW = int(width / 2)
swapped_image = image[0:height, width - cutW:width].copy()
swapped_image = np.hstack((swapped_image, image[0:height, 0:width-cutW]))
image - это исходное изображение, которое вы хотите заменить. Он должен быть в формате файла OpenCV, который уже означает, что вы должны были использовать cv2.imread () для открытия файла или преобразовать его из другого типа изображения в opencv
Первая половина ширины берется с использованием 1/2 image.shape. Это становится cutW (ширина)
Затем он копирует последнюю половину изображения в новое изображение под названием "swapped_image"
Затем он добавляет первую половину исходного изображения к swapped_image, используя np.hstack
опционально : показать изображения потом
height, width = image.shape[0:2]
cutW = int(width / 2)
swapped_image = image[0:height, width - cutW:width].copy()
swapped_image = np.hstack((swapped_image, image[0:height, 0:width-cutW]))
cv2.imshow("SwappedImage", swapped_image)
cv2.imshow("Original ", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Если вы хотите поменять местами по вертикали, вы можете сделать то же самое с np.vstack
и выбрать половину высоты исходного изображения вместо ширины