这是一个matlab问题:问题是由与matlab文件和python/numpy的交互引起的。我打算用matlab编写一个uint8类型的三维数组,然后用numpy在python中读取它。这是创建文件的matlab代码:
voxels = zeros(30, 30, 30);
....
fileID1 = fopen(fullFileNameOut,'w','s');
fwrite(fileID1, voxels, 'uint8');
fclose(fileID1);
这是试图读取文件的python代码:
filename = 'File3DArray.mat'
arr = scipy.io.loadmat(filename)['instance'].astype(np.uint8)
这是我在运行python代码时得到的错误:(我认为这是问题的根源。什么是采购经理
raise TypeError('Expecting miMATRIX type here, got %d' % mdtype)
这是Linux命令“file”在3D数组文件上的输出
我创造的(我认为这是问题的根源。什么是MMDF邮箱?):
File3DArray.mat: MMDF mailbox
这是另一个3D数组文件上相同Linux命令“file”的输出
这是由Matlab中的其他人创建的:
GoodFile.mat: Matlab v5 mat-file (little endian) version 0x0100
我希望我在matlab中创建的文件与goodfile.mat相同(这样我就可以用上面的python/numpy代码段读取它们)。我认为Linux“file”命令的输出应该与goodfile输出相同。
Matlab代码是什么?