Если я что-то упустил, и если вы хотите использовать numpy, это должно быть просто:
import numpy as np
# Create example image
A = np.random.random((512, 256, 3))
# Split the image into two images
A1 = A[:256]
A2 = A[256:]
print(A.shape)
print(A1.shape)
print(A2.shape)
Это просто разбивается на первое измерение.
Более общее решение будет:
import numpy as np
A = np.random.random((512, 256, 3))
A1 = A[:A.shape[0]//2]
A2 = A[A.shape[0]//2:]
print(A.shape)
print(A1.shape)
print(A2.shape)
В этом случае //2
для целочисленного деления. Тогда если A = np.random.random((512, 256, 3)
результат будет:
(512, 256, 3)
(256, 256, 3)
(256, 256, 3)
А если A = np.random.random((513, 256, 3)
, то результат будет:
(513, 256, 3)
(256, 256, 3)
(257, 256, 3)
В случае нечетного числа для первого измерения вам нужно будет принять решение относительно разницы в размере изображения.