看了一下午关于将 .mat 转换为 .png 格式的图片Python实现的CSDN,总算知道了个大概,于是自己将他们整合了一下,希望可以帮助到大家,里面有什么问题也请大家给我提出来,话不多说,首先附上代码:
import scipy.io as scio
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import os
dataFile = r'D:/pythonProject2/test/MDNet_afterrain.mat' # 单个的mat文件
data = scio.loadmat(dataFile)
print(type(data))
# print (data['data'])
# 由于导入的mat文件是structure类型的,所以需要取出需要的数据矩阵
a=data['errCenter']
# 取出需要的数据矩阵
# 数据矩阵转图片的函数
def MatrixToImage(data):
data = data*255
new_im = Image.fromarray(data.astype(np.uint8))
return new_im
new_im = MatrixToImage(a)
plt.imshow(a, cmap=plt.cm.gray, interpolation='nearest')
new_im.show()
new_im.save('train_2.png') # 保存图片
其中:
- dataFile = r’设置成你的.mat文件的绝对路径’
- a=data[‘设置成你结构体里的关键词’]
结构体里的关键词用这段代码获取:
import scipy.io as scio
import os
datafolder = r'D:/pythonProject2/test/'
each_mat = 'MDNet_afterrain.mat'
each_mat = os.path.join(datafolder, each_mat)
array_struct = scio.loadmat(each_mat)
print(array_struct)
注意:这段代码的datafolder和each_mat也需要大家改改
控制台中:err和errCenter为结构体里的关键字
- 如果觉得有帮助到你的话,请帮忙点个赞,栓Q!