在Python中加载2D图像的单元格数组

时间:2015-11-29 17:11:15

标签: python matlab

我有一个大小为100 x 1的单元格数组IMAGES,其中每个条目IMAGES{i}是一个大小为32 x 32的二维数组。我想在Python中加载它,以便加载的变量xx.shape返回(100L,32L,32L)。 现在我写了以下代码:

imgMat = loadmat('IMAGES_DS.mat', matlab_compatible = True)

Test = imgMat ['IMAGES']

print(Test.shape[0], 'test samples')

1 个答案:

答案 0 :(得分:0)

首先,您应该将squeeze_me参数用于loadmat而不是matlab_compatible参数。这将删除IMAGES中的单个维度,使其形状为(100,)而不是(100, 1)

然后你应该做Test = np.dstack(Test),它在深度维度(维度2)的IMAGES中组合各个32x32数组,这将产生(32, 32, 100)数组。

如果您真的需要它作为(100, 32, 32)数组,那么您可以Test = np.rollaxis(Test, 2, 0)将第二维(最后一维)移动到第0维。