如何分割'matfile'(有4个元素)?我想将每个元素保存到单独的列表中

时间:2019-07-08 07:29:58

标签: python image mat-file

我正在尝试在“ xxx.mat”文件中拆分4个元素,并希望将每个元素存储到单独的列表中。 换句话说,我想要(100,100)数据并保存到其他列表中 然后,我想使用该数据(100,100)来制作图像文件(.bmp)。

xxx.mat文件包括

type       size 
list         0
bytes        1
string       1
float64  (100,100)

我尝试过

a = np.genfromtxt('xxx.mat', delimiter=',')

但是,我得到的结果是

[[nan nan ....... nan nan]
 [nan nan ....... nan nan]

我尝试使用以下代码比较数据(我已将MAT文件转换为CSV文件)

mat_contents = sio.loadmat('xxx.mat')
a= np.genfromtxt('xxx.csv', delimiter=',')
[[nan nan ....... nan nan]
 [nan nan ....... nan nan]

1 个答案:

答案 0 :(得分:0)

我将与您分享我提出的解决方案:

  1. 我从Matlab中的随机数据创建了一个.mat文件,并将其保存。
X = rand(100,100)
save("xxx.mat","X")
  1. 使用scipy.io和这个answer,我将.mat文件加载到了我的python工作区中
import scipy.io

mat = scipy.io.loadmat('xxx.mat')
X = mat["X"]
  1. 使用PIL库将数据转换为黑白.bmp
from PIL import Image

img = Image.fromarray(X, 'L')
img.save('my.bmp')
img.show()

enter image description here