Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
numpy:沿轴解压阵列_Numpy - Fatal编程技术网

numpy:沿轴解压阵列

numpy:沿轴解压阵列,numpy,Numpy,假设我有一个RGB图像: from skimage import data img = data.astronaut() print(img.shape) # (512, 512, 3) 是否有一个简洁的numpy命令可以沿颜色通道将其解压缩: R, G, B = np.unpack(img, 2) # ? 我所做的是运用理解力: R, G, B = (img[:, :, i] for i in range(3)) 但是没有更简单的命令吗?您可以将长度为3的维度转换到前面,然后将其解

假设我有一个RGB图像:

from skimage import data
img = data.astronaut()
print(img.shape)  # (512, 512, 3)
是否有一个简洁的numpy命令可以沿颜色通道将其解压缩:

R, G, B = np.unpack(img, 2)  # ?

我所做的是运用理解力:

R, G, B = (img[:, :, i] for i in range(3))

但是没有更简单的命令吗?

您可以将长度为3的维度转换到前面,然后将其解包:

R, G, B = img.transpose((2, 0, 1))
或者,您可以使用-


或者,您可以使用
np.split

R, G, B = np.split(img, img.shape[-1], axis=-1)
如果阵列的形状(高度、宽度、通道),则可以使用
np.dsplit
沿深度维度拆分:

R, G, B = np.dsplit(img, img.shape[-1])

我会给其他人一些时间提出建议,但这很聪明。:)
R, G, B = np.dsplit(img, img.shape[-1])