2022/7 用python批量将.mat文件转为.jpg/.png/.bmp格式图片

这篇具有很好参考价值的文章主要介绍了2022/7 用python批量将.mat文件转为.jpg/.png/.bmp格式图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网上看了一个下午都没找到能用的。。。抄来抄去都没说到点子上

mat文件是Matlab的数据存储的标准格式。

涉及到文件转换肯定要看数据的结构,

事实上别人的代码很难成功就是因为大家的mat文件的数据结构各不相同

照着这个一步一步来你肯定可以学会

1、第一段代码,包括了引用和函数,不用修改

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 * 255
    new_im = Image.fromarray(data.astype(np.uint8))
    return new_im

2、然后需要设置你的文件路径,三处

# 添加路径,文件夹下存放多个.mat文件
# 两个文件夹一个放.mat,一个放转换好的图片
datafolder = r'D:/新建文件夹/RINDNet-main/run/rindnet/depth/mat'
savefolder = r'D:/新建文件夹/RINDNet-main/run/rindnet/depth/out/'
path = os.listdir(datafolder)
print(os.path.splitext('100007.mat'))
# 这一步用于测试你是否正确设置了路径,也展示了splitxt函数的结果

运行一下查看一下print输出的是否正常

3、读取

    # 先取一个文件做实验,接下来在控制台一行一行运行
    each_mat='100007.mat'
    first_name, second_name = os.path.splitext(each_mat)
    # 拆分.mat文件的前后缀名字,

    each_mat = os.path.join(datafolder, each_mat)
    # print(each_mat)
    # 校验步骤,输出应该是路径

    array_struct = scio.loadmat(each_mat)
    # print(array_struct)
    # 校验步骤,输出的应该是一个结构体,然后查看你的控制台,看数据被存在了哪个字段里
    # 我的数据被放在了result里,所以下面填result

    array_data = array_struct['result']  # 取出需要的数字矩阵部分
    # print(array_data)
    # 校验步骤,看是否正常读出了数据

    new_im = MatrixToImage(array_data)  # 调用函数
    plt.imshow(array_data, cmap=plt.cm.gray, interpolation='nearest')
    new_im.show()
    new_im.save(savefolder+first_name + '.jpg')  # 保存图片

正常运行完这一段,已经能够完成单张图片的转换了,如果想要别的格式的图片,只需要改变最后一行

4 批量处理

完整代码给出,注意你之前设置的两个路径和一个字段

且最终运行的时候为了处理速度应该把所有输出(print和imshow)都注释掉。文章来源地址https://www.toymoban.com/news/detail-406784.html

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 * 255
    new_im = Image.fromarray(data.astype(np.uint8))
    return new_im


# 添加路径,metal文件夹下存放mental类的特征的多个.mat文件
datafolder = r'D:/新建文件夹/RINDNet-main/run/rindnet/depth/mat'
savefolder = r'D:/新建文件夹/RINDNet-main/run/rindnet/depth/out/'
path = os.listdir(datafolder)
# print(os.path.splitext('100007.mat'))

for each_mat in path:
    # 先取一个文件做实验
    # each_mat='100007.mat'
    first_name, second_name = os.path.splitext(each_mat)
    # 拆分.mat文件的前后缀名字,
    each_mat = os.path.join(datafolder, each_mat)
    # print(each_mat)
    # 校验步骤,输出应该是文件名
    array_struct = scio.loadmat(each_mat)
    # print(array_struct)
    # 校验步骤
    array_data = array_struct['result']  # 取出需要的数字矩阵部分
    # print(array_data)
    # 校验步骤
    new_im = MatrixToImage(array_data)  # 调用函数
    plt.imshow(array_data, cmap=plt.cm.gray, interpolation='nearest')
    # new_im.show()
    # print(first_name)
    new_im.save(savefolder+first_name + '.jpg')  # 保存图片

到了这里,关于2022/7 用python批量将.mat文件转为.jpg/.png/.bmp格式图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ACDC数据集】:预处理ACDC心脏3D MRI影像数据集到VOC数据集格式,nii转为jpg,label转为png

    【Segment Anything Model】做分割的专栏链接,欢迎来学习。 【博主微信】cvxiaoyixiao 本专栏为公开数据集的介绍和预处理,持续更新中。 跟我要处理好的数据集的,我都给了。请自行注意检查数据集是否是你想要的,我只处理了原数据集的第一部分 也就是frame01部分。并且测试集

    2024年02月08日
    浏览(28)
  • 怎么在电脑上把jpg改成png?批量图片格式转换器分享推荐

    美工在处理图片时,经常使用png格式图片,所以就会有用到格式转换器(https://www.yasuotu.com/geshi),尤其是在需要处理批量图片的时候,今天介绍的这款批量图片格式转换器,可以在线操作,打开浏览器就能完成png格式转换,非常方便,一起来看一下吧。 使用浏览器搜索【压

    2023年04月24日
    浏览(35)
  • Python实现: JPG与PNG格式图片间互转

    【注意】转换完成后,转换图会与原图在同一个文件夹,只需按大小进行排列就可以将转换后的图片筛选出来

    2024年02月06日
    浏览(47)
  • 用Python把csv文件批量修改编码为UTF-8格式并转为Excel格式

    有时候用excel打开一个csv文件,中文全部显示乱码。然后手动用notepad++打开,修改编码为utf-8并保存后,再用excel打开显示正常。 使用Python通过很少代码就能将上面过程自动化。 导入3个模块 chardet 模块用于得到文件的编码格式,pandas 按照这个格式读取,然后保存为xlsx格式。

    2024年02月07日
    浏览(46)
  • 关于bmp、jpg格式图片的解码

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、为什么要解码? 二、bmp图片 1.bmp图片信息 2.获取图片信息 三、jpg图片  总结         在学习C语言、文件IO、数据结构之后做了一个6818的开发板项目,自觉想要记录

    2024年02月06日
    浏览(33)
  • Java将JPG/PNG图片转换为WEBP格式,以及WEBP转换成JPG/PNG格式

    越来越多的网站采用了webp格式的图片,webp占用空间小,传送更快,画质不降低。经常会遇到图片格式转换的需求,我们可以借助第三方的包,通过Java实现来PG/PNG图片转换为WEBP格式,以及WEBP转换成JPG/PNG格式。 1.maven项目依赖 在pom.xml加入下面的内容 2.代码分享

    2024年02月08日
    浏览(29)
  • 011集:复制文件(包括exe、 jpg、png、Word、Excel和PPT等二进制文件)—python基础入门实例

            在文本文件的内部以字符形式存储数据,字符是有编码的,例如GBK (简体中文) 、UTF-8等;在二进制文件的内部以字节形式存储数据、没有编码的概念。二进制文件较为常用,例如Windows中的exe、图片 (jpg、png等),以及Word、Excel和PPT等文件。 下面给出一个jpg图片示例。

    2024年01月17日
    浏览(37)
  • antd upload上传格式.doc、.docx、.pdf、.png、.jpg、.rar和大小100兆限制

    限制上传文件格式.rar、.zip、.pdf、.jpg、.png、.docx antd 中upload对于限制上传文件格式的属性是 accept ,在开发的过程中,accept对于 .doc、.docx、.pdf、.png、.jpg、.rar, 格式的限制是完全没有问题的。但是测试和我说,当选择文件的 自定义格式 改为所有文件时,之前限制好的除了

    2023年04月14日
    浏览(31)
  • 图片:前端展示图像(img 、picture、svg、canvas )及常用图片格式(PNG、JPG、JPEG、WebP、GIF、SVG、AVIF等)

    一、浏览器网页展示图片方法 1.1、HTML img 标签 img 标签常用属性 序号 属性 描述 1 src 用于指定图片的 URL 或路径。 2 alt 用于当图片无法展示时显示的替代文本,seo优化时要注意添加这个属性。 3 width/height 用于指定图片展示的宽度和高度。如果只指定其中一个值,那么另一个

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包