我下载了一个数据集,其中包含一个名为“ depths.mat”的MATLAB文件,该文件包含一个尺寸为480 x 640 x 1449的3维矩阵。实际上是1449张图像,每个图像的尺寸为640 x 480。使用scipy库将其加载到python中,但问题是尺寸的异常顺序。这使Python认为有480张尺寸为640 x 1449的图像。我试图在python中重塑矩阵,但是简单的重塑操作并不能解决我的问题。
欢迎提出任何建议。谢谢。
答案 0 :(得分:2)
您误会了。您不想重塑形状,而是想要对其进行转置。在MATLAB中,数组为\%#=1
,而在python中,数组为A(x,y,z)
。确保一旦加载了整个矩阵,就可以更改第一个和最后一个尺寸。
您可以使用P[z,y,x]
函数来执行此操作,但要注意!它不会进行复制也不会更改数据,只是更改swapaxes
的更高级别索引访问内部存储器的方式。如果您有足够的RAM,最好的机会就是复制并转储原始文件。