.mat文件批量转成图片——python脚本编写
.mat文件批量转成图片——python脚本编写
mat文件简介
mat文件是Matlab的数据存储的标准格式。mat文件是标准的二进制文件,还可以ASCII码形式保存和加载,在MATLAB中打开显示类似于单行EXCEL表格。 —— [ 百度百科 ]
mat文件最基本的操作主要有两个:
第一、用load命令,具体为load+文件名.mat,就可以将mat中的数据放到工作空间里,然后操作
第二、用save命令,具体为save+文件名(自己取一个).mat,就可以将当前工作区间里的数据保存下来供调用了
由于深度学习中训练模型需要的输入是图片,而需要的特征保存在mat文件中,考虑到数据库包含大量的数据,所以需要编写程序来完成mat文件批量转成图片。
采用python语言来编写脚本。
单个mat文件的导入与转换
代码如下:
import cv2
import scipy.io as scio
from PIL import Image
import numpy as np
import matplotlib.pyplot as pltdataFile = r'/folder/reggae.00041.mat' # 单个的mat文件
data = scio.loadmat(dataFile)
print(type(data))
# print (data['data'])
# 由于导入的mat文件是structure类型的,所以需要取出需要的数据矩阵
a=data['data']
# 取出需要的数据矩阵# 数据矩阵转图片的函数
def MatrixToImage(data):data = data*255new_im = Image.fromarray(data.astype(np.uint8))return new_imnew_im = MatrixToImage(a)
plt.imshow(a, cmap=plt.cm.gray, interpolation='nearest')
new_im.show()
new_im.save('reggae.00041.bmp') # 保存图片
批量处理
单个的mat文件转图片是很好实现的,但是处理的要点就在于对mat文件的批量处理,当一个文件夹下有几百个或者更多的mat文件,就必须进行遍历操作来完成批量转换。
如图,metal文件夹下包含了很多个.mat文件,其中的名称是可以拆分的,可以利用中间的数字段进行遍历操作。
在matlab中打开其中一个mat文件,发现一个mat文件中包含了三部分,所需要的是其中的data的数字矩阵部分。
考虑以上两点,具体的代码如下:
import cv2
import scipy.io as scio
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import os# 数据矩阵转图片的函数
def MatrixToImage(data):data = data*255new_im = Image.fromarray(data.astype(np.uint8))return new_im# 添加路径,metal文件夹下存放mental类的特征的多个.mat文件
folder = r'/Users/Desktop/metal'
path = os.listdir(folder)
#print(os.listdir(r'/Users/hjy/Desktop/blues'))for each_mat in path:if each_mat == '.DS_Store':passelse:first_name, second_name = os.path.splitext(each_mat)# 拆分.mat文件的前后缀名字,注意是**路径**each_mat = os.path.join(folder, each_mat)# print(each_mat)array_struct = scio.loadmat(each_mat)array_data = array_struct['data']# 取出需要的数字矩阵部分new_im = MatrixToImage(array_data)# 调用函数plt.imshow(array_data, cmap=plt.cm.gray, interpolation='nearest')new_im.show()print first_namenew_im.save(first_name+'.bmp')# 保存图片
运行程序,可得到:
可以看到,在在对应文件夹下已经完成.mat文件批量转换成图片。
.mat文件批量转成图片——python脚本编写相关推荐
- 如何将PDF文件批量转换成图片格式
在我们的日常工作中文件转换是一件常见的日常工作,而PDF文件转换是每一个上班族必备的技能之一,比如讲PDF文件转换成图片格式.毫无疑问PDF格式给用户带来更好的阅读体验,PDF文件是一页一页的文件形式 ...
- python 脚本将视频转化成图片 | python scripts to convert video to pictures
python 脚本将视频转化成图片 | python scripts to convert video to pictures python video_to_images.py 运行时,修改输入.输 ...
- 将 .mat 转换为 .png 格式的图片Python实现(通俗易懂版)
看了一下午关于将 .mat 转换为 .png 格式的图片Python实现的CSDN,总算知道了个大概,于是自己将他们整合了一下,希望可以帮助到大家,里面有什么问题也请大家给我提出来,话不多说,首先附上 ...
- pdf文件怎么转换成图片?
pdf文件怎么转换成图片?今天我要给大家分享一个日常经常用到的办公小技巧,就是pdf文件怎么转换成图片,上个星期我刚好有这么一个需求,老板要求我把一份有着几十页的pdf文件转换成图片给他,所以我也真的 ...
- linux生成缩略图,linux下使用imagemagick批量生成缩略图的python脚本
linux下使用imagemagick批量生成缩略图的python脚本.程序用了递归,可以查找目录下所有的图片按照一定的规则生成指定宽度的缩略图. #!/usr/bin/env python # -* ...
- 如何将EAN 13码批量输出成图片
EAN是标准条形码,目前商店里大多数商品上都打有此码.EAN广泛用于便利店里的POS系统中.由于EAN和美国.加拿大的UPC,日本的JAN兼容,是世界通用的条形码.EAN13码是由前缀码.厂商识别码. ...
- 【RPA机器人】PDF批量转换成图片机器人
运行前须知: 1.仅支持win10系统 2.请确保安装金山PDF独立版 3.请把屏幕分辨率设置为1920x1080,缩放布局100% 4.生成的图片将保存在所选文件夹目录下 运行流程: 1.获取需批量 ...
- CAD文件怎么转成图片?手机也能轻松解决
小伙伴们平时使用手机浏览过CAD文件吗?如果你想浏览一个CAD文件,但又没有相应的软件可以使用,可以尝试将CAD文件格式转换成图片格式.如果是图片文件,更容易查看,不受专业软件限制.其次,对于经常使用 ...
- 多个dwg文件批量转换成jpg格式
为了在设计绘图工作中更好地传输查看,我们需要把大量的dwg文件转换成jpg格式.那么有什么快捷的方法呢?今天就为大家推荐一款软件-CAD编辑器,来批量操作将多个dwg文件批量转换成jpg格式.具体步骤 ...
最新文章
- Android开发笔记之:Handler Runnable与Thread的区别详解
- Android WebView 性能优化
- vue 接口数据排序_Vue 使用 axios 请求 mock 模拟接口的数据
- python运行结果闪退_Pyhton TestCase运行闪退与失败,原因不详。。。
- 去除div最后一个逗号_去除重复值、统计数量,这个公式可以直接套用!
- .net数据源控件绑定mysql_理解asp.net中DropDownList编辑数据源,绑定数据库数据。...
- anaconda 安装pytorch_conda上安装PyTorch
- 极简代码(六)—— 返回 0/1 构成的布尔向量
- windows10配置内外网IP切换bat脚本
- Win 10 深度隐藏文件夹命令
- 2021年Java常见面试题,实战篇
- 使用python turtle库绘制一个三角形_python ——turtle画三角形
- 蚂蚁区块链BaaS平台应用开发指南(四):JavaSDK的接入
- Python常用开发软件有哪些?
- 【计网】(三)超网、路由、NAT协议
- 802.11a data rate
- dd 命令的使用方法
- LeetCode日常刷题1、657、717、67
- mysqlin会使用索引吗
- html写出太极八卦图,求图,谁能用符号拼成太极八卦图!!!!!!!!!!!!...