вы можете использовать np.split
фиктивные данные:
big_array = np.arange(6400) / 6400 * (np.arange(6400) / 6400)[:,np.newaxis]
big_array = (big_array * 256).astype(int)
big_array = np.stack([big_array]*4, axis=2)
big_array.shape
(6400, 6400, 4)
разделить их:
split_arrays = [
np.split(array, 25, axis=0)
for array in np.split(big_array, 25, axis=1)
]
split_arrays[-1][-1].shape
(256, 256, 4)
PS. разделение 25 x 25 позволяет получить 625 изображений, а не 25