将CFD(CrackForest Datasets)数据集的GroundTruth中的.mat文件转换为便于使用的maskpng
dotmat2png.py
import scipy.io
import numpy as np
import cv2
import osdef 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] = 0cv2.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文件,如下:
转换后的maskpng图片,如下:
对应原始图片,如下:
修改后的CFD数据集链接:CFD数据集