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 StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
Python最基本的输入输出详解
Apr 25 Python
python实现图片处理和特征提取详解
Nov 13 Python
分析python切片原理和方法
Dec 19 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
python的中异常处理机制
Aug 30 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
python读取与处理netcdf数据方式
Feb 14 Python
Django Form常用功能及代码示例
Oct 13 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
Oct 20 Python
python 实现简单的计算器(gui界面)
Nov 11 Python
python函数指定默认值的实例讲解
Mar 29 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
PHP与SQL注入攻击[二]
2007/04/17 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
python输出指定月份日历的方法
2015/04/23 Python
Python操作csv文件实例详解
2017/07/31 Python
python递归函数绘制分形树的方法
2018/06/22 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
python学生管理系统的实现
2020/04/05 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
现场施工员岗位职责
2014/03/10 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
清明节演讲稿
2014/05/27 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
导游词之山海关
2019/12/10 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL