关于Numpy形状的问题

时间:2018-03-18 01:29:08

标签: python numpy

有.npy,形状为(37,3,224,224)。这些是驻留在'E:/ augmentTest'文件夹中的图像。文件夹中有1384个这样的.npy文件。

我读了这些文件并加载到numpy数组中。

df = pd.read_csv('C:/CT_SCAN_IMAGE_SET/resnet_50/dbs2017/data/stage1_labels.csv')

x = np.array([np.mean(np.load('E:/augmentTest/%s.npy' % str(id)), axis=0) for 
id in df['id'].tolist()])

print (x.shape)

当打印x的形状时,我得到以下结果。

(1384, 3, 224, 224).

我想知道x的形状是如何变成4D的。因为x包含带有形状的.npy文件,(37,3,224,224),(67,3,224,224),(50,3,224,224)等。当它放入时,真实的图像形状会发生变化要arrray x?

Shape(1384,3,224,224)表示它有1384个图像(3,224,224)。但我的真实图像有形状(37,3,224,224),(67,3,224,224),(50,3,224,224)。所以我觉得图像的第一个维度在放到x时已经错过了?我错过了什么吗?有人可以帮我理解这个吗?

1 个答案:

答案 0 :(得分:1)

由于此命令,数组的大小为1384, 3, 224, 224

np.mean(np.load('E:/augmentTest/%s.npy' % str(id)), axis=0)

加载后,每个图像都在其第一维上mean,将数组折叠为大小3, 224, 224。由于1384图片已加载并mean,因此您的最终数组大小为1384, 3, 224, 224