Как разбить 'Matfile' (который имеет 4 элемента)?Я хочу сохранить каждый элемент в отдельный список - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь разделить 4 элемента в файле 'xxx.mat' и хочу сохранить каждый элемент в отдельный список. Другими словами, я хочу (100,100) данных и сохранить в другом списке и затем я хочу создать файл изображения (.bmp), используя эти данные (100 100).

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 голосов
/ 08 июля 2019

Я поделюсь с вами решением, которое придумал:

  1. Я создал файл .mat из случайных данных в matlab и сохранил его.
X = rand(100,100)
save("xxx.mat","X")
Используя scipy.io и этот ответ я загрузил файл .mat в свое рабочее пространство python
import scipy.io

mat = scipy.io.loadmat('xxx.mat')
X = mat["X"]
Использование библиотеки PIL для преобразования данных в черно-белое .bmp
from PIL import Image

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

enter image description here

...