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 相关文章推荐
wxpython学习笔记(推荐查看)
Jun 09 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
python3抓取中文网页的方法
Jul 28 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
Python实现矩阵转置的方法分析
Nov 24 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 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
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
小程序实现密码输入框
2020/11/16 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
快速查找Python安装路径方法
2020/02/06 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
英语文学专业学生的自我评价
2013/10/31 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
违纪检讨书2000字
2014/02/08 职场文书
经典婚礼主持词
2014/03/13 职场文书
管理提升方案
2014/06/04 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
教师业务学习材料
2014/12/16 职场文书