转换numpy数组

时间:2018-12-02 21:08:28

标签: python numpy

我有一个大小为Data的{​​{1}}的numpy数组1D。基本上,我将[36*64]36个图像存储在8*8数组中。每个图像均以1D格式存储。

例如:第i个 图像是从Height(8)*Width(8)存储的。

现在我想从给定的36张图像(即6张图像彼此堆叠)中制作一张图像。 Example

基本上,我想将我的1D Numpy数组转换成上述格式的2D图像数组。

我更喜欢仅使用Numpy方法的答案。

2 个答案:

答案 0 :(得分:0)

要将1D数组转换为2D,请使用reshape,如示例所示:

# Creating 36 images each of shape 8x8
initial_1D = np.random.randn(2304).reshape(36, 8, 8)

可以使用PIL形成拼贴。要清楚了解,请点击此处Making a collage in PIL

答案 1 :(得分:0)

如果我对您的理解正确,那么您可以这样做

# make example data
a = np.linspace(0, 36*64-1, 36*64)
print(a[:64])
print(a.shape)

# reshape 1D to 3D array
b = a.reshape(-1, 8, 8)
# look at first "image"
print(b[0])

如果我对您的理解不正确,则需要按不同的顺序放置-1、8、8。