我想知道是否有办法扭转3d numpy阵列?像在1d情况下我们可以从[1 2 3]到[3 2 1]。 3D有类似的东西吗?
由于
答案 0 :(得分:1)
你的意思是沿特定的轴反转它吗?
例如,如果我们有一个大小为height x width x 3
的彩色图像,其中最后一个轴是红色,绿色,蓝色(RGB)像素,我们想将其转换为蓝色,绿色,红色(BGR) :
image_bgr = image[:, :, ::-1]
如果您愿意,您甚至可以将其写为:
image_bgr = image[..., ::-1]
作为一个更完整的例子,请考虑一下:
import numpy as np
# Some data...
x = np.arange(3 * 4 * 5).reshape(5, 4, 3)
print x[0,0,:]
# Reverse the last axis
y = x[:, :, ::-1]
print y[0,0,:]
但是,一般情况下,您可以使用它来反转任何特定的轴。例如,您可以轻松完成:
y = x[:, ::-1, :]
反转第二轴。