python如何将mat文件转为png


Posted in Python onJuly 15, 2022

将mat文件转为png

花费了很大力气做这件事,总是出现各种错误,现在终于解决了

from PIL import Image
import matplotlib.pyplot as plt
import glob
import os
import numpy as np
import mat73
 
# 数据矩阵转图片的函数
def MatrixToImage(data):
    data = data*255
    new_im = Image.fromarray(data.astype(np.uint8))
    return new_im
 
def mkdir(path):
    folder = os.path.exists(path)
    if not folder:  # 判断是否存在文件夹如果不存在则创建为文件夹
        os.makedirs(path)  # makedirs 创建文件时如果路径不存在会创建这个路径
        print("--- create new folder...  ---")
    else:
        print("---  There is this folder!  ---")
 
# Get all png files under the input folder
input_img_path = glob.glob("I:/CCCC--数据集/去噪/dnd_2017/input/*.mat")
save_path = "blur13x13/"
 
 
mkdir(save_path)  # 调用函数
i = 0
 
for file in input_img_path:
    file_name = file.split('\\')[-1]
 
    try:
        mat = mat73.loadmat(file)
        new_name = str(mat.keys())
        key_name = list(mat.keys())[-1]
        key_name = mat[key_name]
        print(key_name.shape)
        new_im = MatrixToImage(key_name)
        plt.imshow(key_name,  interpolation='nearest')
        new_im.save(save_path+'{}.png'.format(file_name))
    except Exception as e:
        pass
 
    i = i + 1
    print("The", i, "picture is currently being processed")
    continue

完整代码如上,只需要修改输入的mat文件夹路径即可~

将图片转换为mat格式

import cv2
import numpy as np
import h5py
import math
import glob
import os
import scipy.io as io
 
def save_to_mat(img,output_name):
    new_data_path = os.path.join(os.getcwd(),"matType")
    if not os.path.isdir(new_data_path):
        os.mkdir(new_data_path)
    npy_data = np.array(img,dtype= "uint16")
    np.save(new_data_path+'/{}.npy'.format(output_name),npy_data)
    npy_load = np.load(new_data_path+'/{}.npy'.format(output_name))
    io.savemat(new_data_path+'/{}.mat'.format(output_name),{'data':npy_load})

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python批量下载图片的三种方法
Apr 22 Python
使用python编写监听端
Apr 12 Python
使用python读取csv文件快速插入数据库的实例
Jun 21 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
Linux下远程连接Jupyter+pyspark部署教程
Jun 21 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
Python如何定义接口和抽象类
Jul 28 Python
Python开发入门——迭代的基本使用
Sep 03 Python
python套接字socket通信
Apr 01 Python
Python如何用re模块实现简易tokenizer
May 02 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 Python
python读取mat文件生成h5文件的实现
Jul 15 #Python
全网非常详细的pytest配置文件
Jul 15 #Python
Python如何加载模型并查看网络
Jul 15 #Python
Python绘制散点图之可视化神器pyecharts
Jul 07 #Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 #Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 #Python
Django数据库(SQlite)基本入门使用教程
Jul 07 #Python
You might like
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
jquery中post方法用法实例
2014/10/21 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
浅析JS运动
2015/12/28 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
关于numpy数组轴的使用详解
2019/12/05 Python
keras得到每层的系数方式
2020/06/15 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
幼师求职自荐信范文
2014/01/26 职场文书
倡议书格式
2014/04/14 职场文书
单位授权委托书范本
2014/09/26 职场文书
2014年资料员工作总结
2014/11/18 职场文书
先进工作者推荐材料
2014/12/23 职场文书
抢劫罪辩护词
2015/05/21 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
会议营销主持词
2015/07/03 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
python获取字符串中的email
2022/03/31 Python
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server