with tools programming ponce modern learning images forsyth for computer artificial approach applications and analyzing algorithms python matlab python-2.7 scipy

tools - Lea la matriz de Matlab en Python



forsyth ponce computer vision pdf (1)

Esta pregunta parece estar inactiva por un tiempo, pero es bueno dejar una alternativa en caso de que aún necesite leer este archivo .mat , suponiendo que siempre esté en el formato que especificó:

def read_mat( file_path ): import numpy as np mat = open(file_path, ''r'') mat.next() # % Size = 30 30 length = int(mat.next().split()[-1]) mat.next() # zzz = zeros(18,3) mat.next() # zzz = [ ans = np.array([ map(float, mat.next().split()) for i in xrange(length) ]) mat.close() return ans

Cuando intento leer una matriz de Matlab en python, aparece el siguiente error

>>> scipy.io.loadmat("Dynamical.mat") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 151, in loadmat MR = mat_reader_factory(file_name, appendmat, **kwargs) File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 105, in mat_reader_factory mjv, mnv = get_matfile_version(byte_stream) File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/miobase.py", line 221, in get_matfile_version % ret) ValueError: Unknown mat file type, version 46, 48

The Dynamical.mat es un archivo que contiene la matriz

% Size = 30 30 % Nonzeros = 252 zzz = zeros(252,3); zzz = [ 1 1 1.4019896354966477e+01 1 2 0.0000000000000000e+00 1 3 0.0000000000000000e+00 ...