numpy:沿轴解压阵列
假设我有一个RGB图像: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的维度转换到前面,然后将其解
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])