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 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 Python
python模拟登陆阿里妈妈生成商品推广链接
Apr 03 Python
python中对list去重的多种方法
Sep 18 Python
Python编程之变量赋值操作实例分析
Jul 24 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
linux下python中文乱码解决方案详解
Aug 28 Python
Python Selenium截图功能实现代码
Apr 26 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
pyqt5实现井字棋的示例代码
Dec 07 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静态类的原罪详解
2013/05/06 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
Python上传package到Pypi(代码简单)
2016/02/06 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
python对于requests的封装方法详解
2019/01/03 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
经典大学生求职信范文
2014/01/06 职场文书
表彰先进集体通报
2014/01/12 职场文书
治超工作实施方案
2014/05/04 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
丧事答谢词
2015/01/05 职场文书
话题作文之诚信
2019/11/28 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
vue3中provide && inject的使用
2021/07/01 Vue.js
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript