首页 > 其他分享 >.mat文件转换为png

.mat文件转换为png

时间:2024-05-01 20:33:05浏览次数:14  
标签:转换 mat seg dir file np save png

将CFD(CrackForest Datasets)数据集的GroundTruth中的.mat文件转换为便于使用的maskpng

dotmat2png.py

import scipy.io
import numpy as np
import cv2
import os


def save_mask(mat_file, save_path):
    mat = scipy.io.loadmat(mat_file)
    np_seg = mat['groundTruth'][0][0][0]
    (y, x) = np.where(np_seg == 2)
    np_seg[y, x] = 255
    (y, x) = np.where(np_seg == 1)
    np_seg[y, x] = 0

    cv2.imwrite(save_path, np_seg)
    print('save mask:', save_path)


def main():
    mat_dir = './groundTruth/'   # mat文件的路径
    save_dir = './mask/'         # 保存为maskpng的路径 自己创建
    mat_files = os.listdir(mat_dir)
    for mat_file in mat_files:
        save_mask(mat_dir + mat_file, save_dir + mat_file.split('.')[0] + '.png')

main()

原始.mat文件,如下:

image-20240427154647879

转换后的maskpng图片,如下:

image-20240427154725669

对应原始图片,如下:

image-20240427154801295

修改后的CFD数据集链接:CFD数据集

标签:转换,mat,seg,dir,file,np,save,png
From: https://www.cnblogs.com/Oraer/p/18169616

相关文章

  • P1017 [NOIP2000 提高组] 进制转换 题解
    题目简述给定一个十进制数$n$,将其转换成一个$-R$进制数。题目分析十进制数转负进制,同样可以使用短除取余法,但是会出现余数为负的情况,例如$-11\div-2=5~\cdots\cdots-1$,此时我们可以用如下法方解决此问题:我们设被除数为$a$,除数为$b$,余数为$c$,商为$d$,其中$c<0$......
  • Hive中的FileFormat、RowFormat和SerDe总结
    Hive如何读写数据?我们知道,hive表的数据是存储在hdfs文件系统中的。那么Hive是如何将hdfs上的数据文件,映射成一张张表呢,今天就来理清楚这个问题。官方文档中对于Hive读数据的流程如下: 精炼一下:Hive的执行引擎首先通过InputFormat读取一条一条的数据记录,接着调用Serde.destr......
  • C. Matching Arrays
    链接:https://codeforces.com/problemset/problem/1896/C洛谷:https://www.luogu.com.cn/problem/CF1896C这题疑似有点水了?为什么还有绿题hhhh思路:结构体+排序首先对a,b各自排序:取b的下x和a的上x比较,如果可以(指ai>bi),那么进入二阶段;如果不行,那么直接输出no。二阶段:取b的上n-x和a的......
  • Matlab用BUGS马尔可夫区制转换Markov switching随机波动率SV模型、序列蒙特卡罗SMC、M
    原文链接:http://tecdat.cn/?p=24498原文出处:拓端数据部落公众号在这个例子中,我们考虑马尔可夫转换随机波动率模型。统计模型让  是因变量和  未观察到的对数波动率 .随机波动率模型定义如下 区制变量  遵循具有转移概率的二态马尔可夫过程 表示均值的正态分布......
  • 基于DCT变换的彩色图像双重水印嵌入和提取算法matlab仿真
    1.算法运行效果图预览灰度图   彩色图   2.算法运行软件版本matlab2022a  3.算法理论概述      双重水印嵌入算法涉及两个独立的水印:主水印和辅水印,它们可以是灰度图像、二进制序列或其他形式的数据。以下简述嵌入过程: 图像预处理:将彩色图像从R......
  • pandas:时间序列数据的周期转换
    时间序列数据是数据分析中经常遇到的类型,为了更多的挖掘出数据内部的信息,我们常常依据原始数据中的时间周期,将其转换成不同跨度的周期,然后再看数据是否会在新的周期上产生新的特性。下面以模拟的K线数据为例,演示如何使用pandas来进行周期转换。1.创建测试数据首先创建测试数据......
  • 集成了高压初级侧开关,INN3649C-H606-TL、INN3678C-H606-TL、INN3676C-H601-TL 离线转
    1、详情InnoSwitch3-EP系列IC可极大简化低压大电流电源的开发和制造,尤其是那些采用紧凑外壳或需要满足高效率要求的电源。InnoSwitch的架构极具革新性,因为该器件同时将初级和次级控制器以及检测元件和符合安全标准的反馈机制集成到了单个IC中。装置整合了多种保护功能,包括线电压......
  • Delphi XE 时间和时间戳互转换【转】
    DelphiXE时间和时间戳互转换usesSystem.DateUtils;functionTForm1.Gettamptime(vlen:Integer):string;varss:string;beginifvlen=13thenbeginss:=DateTimeToTimeStamp(now).time.ToString;Result:=IntToStr(DateTimeToUnix(Now,false))+Copy......
  • mu38中ts 文件伪装成png 文件解析~
    正常的文件m3u8应该这样子但是有的却是这个样子于是百度一波我个人任务合理的......
  • openGauss 将磁盘表转换为MOT
    将磁盘表转换为MOT磁盘表直接转换为MOT尚不能实现,这意味着尚不存在将基于磁盘的表转换为MOT的ALTERTABLE语句。下面介绍如何手动将基于磁盘的表转换为MOT,如何使用gs_dump工具导出数据,以及如何使用gs_restore工具导入数据。前置条件检查检查待转换为MOT的磁盘表的模式是否包含......