numpy数组非常新。试图更多地了解它们并克服困惑。
我有一个包含50个1000x1000图像的numpy数组。形状是(50,1000,1000)。我想翻转每个图像并将其放入一个形状为(50,1000,1000)的新numpy数组中。
这样可行,但如果不使用中间列表,是否有更简单的方法?
images = []
for index in range(training_images.shape[0]):
image = training_images[index,...]
flipped = np.fliplr(image)
images.append(flipped)
flipped_training_images = np.concatenate([np.expand_dims(x,axis=0) for x in images],axis=0)
答案 0 :(得分:0)
沿最后一个轴翻转 -
flipped_training_images = training_images[...,::-1]
请注意,这将是一个视图。因此,如果需要副本,请附加.copy()
。
因此,我们也可以使用np.flip
:
np.flip(training_images,axis=-1)