我想在Python中调用Matlab.m文件和函数,但是由于Matlab和Python之间的数据类型不同,出现了一个关于TypeError: unsupported Python data type: numpy.ndarray的错误。在
作为下面代码中的一个示例,VoxelSizeUnification是一个Matlab函数,我想在Python中调用它,它的输入来自Python数据类型:import matlab.engine
eng = matlab.engine.start_matlab()
xyzSpacing = [dcm_image.SliceThickness, dcm_image.PixelSpacing[1], dcm_image.PixelSpacing[0]]
xyzNewSpacing = [1.25, 1.25, 1.25]
eng.VoxelSizeUnification(volume_image, xyzNewSpacing, xyzSpacing) # TypeError: unsupported Python data type: numpy.ndarray
即:
^{pr2}$
另外,我使用link1搜索,但我不想保存文件然后再加载它们。同样在link2中,mlab应该使用python>;=2.7,我的python是3.6.6和matlab2017b
另外,我尝试了matlab.double,并用一个示例测试了上面的代码,没有任何错误:xyzNewSpacing = matlab.double([1.25, 1.25, 1.25])
xyzSpacing = matlab.double([1.5, 1.5,