- 一般最好读取存储格式为
.mat
的高光谱数据。原因有下:
- python可以导入读取
.mat
格式文件的包,在matlab中进行预处理和后处理的时候协作起来比较方便。 .mat
格式在同一个文件中可以有多个label,比如在超分辨中,预处理的时候可以在一个.mat
文件中生成HR、LR,在后处理中,可以将HR和SR结果放在同一个.mat
文件中方便对评价指标进行计算。
- 读取和写入的操作
- 首先要导入scipy.io包
import scipy.io as scio
- 读取图像
scio.loadmat(filename)
scio.loadmat(filename)['label']
可以读取文件,文件中有不同label的时候还可以按需进行读取,如下边的代码,在Pavia.mat中读取其中的groudtruth数据:
img = scio.loadmat('Pavia.mat')['hr']
- 存储图像
scio.savemat(filename, {labels})
和读取类似,在存储数据的时候,按照自己设置的文件名和标签进行存储就好,在这里的filename当然也要是.mat
格式的。若没有特别设置,存储的位置在当前目录下。
scio.savemat('Pavia.mat',{'sr' : sr_img, 'hr' : target})
其中的sr_img是超分辨的结果数据,target是gt数据。