复制/重塑高维numpy数组

时间:2017-02-01 10:08:11

标签: python numpy

我有一个像这样的形状的numpy数组

x.shape
(100, 1, 300, 300)

将此视为100个大小为300x300的灰度图像的观察结果。 灰度图像只有1个通道,因此形状中的第二个1。

我想将其转换为包含3个通道的RGB图像数组。 我想将灰度图像复制到另外两个通道。

所以最终的形状是(100,3,300,300)

我该怎么做?

1 个答案:

答案 0 :(得分:5)

使用np.repeat -

In [8]: x = np.random.randint(11,99,(2,1,3,4))

In [9]: np.repeat(x,3,axis=1).shape
Out[9]: (2, 3, 3, 4)

示例运行 -

public class viewmodel
{
    public int Id{get;set;}
    public string Name{get;set;}
    public list<Occupation> occupationList{get;set;}
}

public class Occupation
{
    public int Id{get;set;}
    public string Name{get;set;}
    public bool IsSelected{get;set;}
}