我有一个大小为Data
的{{1}}的numpy数组1D
。基本上,我将[36*64]
,36
个图像存储在8*8
数组中。每个图像均以1D
格式存储。
例如:第i个 图像是从Height(8)*Width(8)
存储的。
现在我想从给定的36张图像(即6张图像彼此堆叠)中制作一张图像。 Example。
基本上,我想将我的1D Numpy数组转换成上述格式的2D图像数组。
我更喜欢仅使用Numpy方法的答案。
答案 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。