python如何导入matlab数据,python学习-python到matlab数据的传输
1、.mat文件
matlab和python間的數據傳輸一般是基于matlab的文件格式.mat,python中numpy和scipy提供了一些函數,可以很好的對.mat文件的數據進行讀寫和處理。在這里numpy作用是提供Array功能映射matlab里面的Matrix,而scipy提供了兩個函數loadmat和savemat來讀寫.mat文件。# python 讀寫.mat文件
import scipy.io as sio
import numpy as np
# python讀取.mat文件
load_fn = 'xxx.mat'
load_data = sio.loadmat(load_fn)
# python 保存.mat文件
save_fn = 'xxx.mat'
save_array = np.array([1,2,3,4])
sio.savemat(save_fn,{'array':save_array})
save_array_x = np.array([1,2,3,4])
save_array_y = np.array([5,6,7,8])
sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x})
python寫好.mat文件,matlab里面直接讀入.mat文件。但是針對于數量大的數據,.mat文件無法存儲,建議使用.h5文件。
2、.h5文件
python寫入.h5文件# python寫入.h5文件,matlab讀入.h5文件
# python寫.h5文件
import h5py
import cPickle as pickle
import sys
import numpy as np
if __name__ == "__main__":
matrix = np.array([1,2,3,4])
f = h5py.File('data.h5','w')
f['matrix'] = matrix
f.close()
# matlab讀取.h5文件
matrix = h5read('data.h5','/matrix');
python存儲的.h5文件中的矩陣matlab讀取時候矩陣維度會倒轉(在python中使用matrix.transpose((維度1,維度2,...,維度n))命令先進行翻轉再寫入,matlab讀取的時候就是正常維度)。
PS:圖片傳輸的時候,uint8圖片數據傳到matlab里會變成double類型數據。
總結
以上是生活随笔為你收集整理的python如何导入matlab数据,python学习-python到matlab数据的传输的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php -i | grep config
- 下一篇: java spring 上传图片,spr