加载数据
Python
-
data_path = r’C:\Users\Administrator\Desktop\NTIRE2020_Validation_RealWorld’
如果不加“r”就会报错,加了“r”之后加载数据时会将“\”自动转成“\”
(使用复制地址就会这样) -
‘C:/Users/Administrator/Desktop/NTIRE2020_Validation_RealWorld’
这样写不报错,加了“r”也不会错
所以建议前面加“r” -
data_path = ‘./Dataset/Valid’
表示当前路径中加载Dataset文件夹
Matlab
个人习惯是这样:
direction_gen = 'C:\Users\Administrator\Desktop\HSI_test1\';
direction_true = 'C:\Users\Administrator\Desktop\NTIRE2020_Validation_Spectral\';
%这个地方的字符串要用单引号,双引号无法实现下面要进行的拼接
gen_HSI = dir("C:\Users\Administrator\Desktop\HSI_test1\*.mat");
true_HSI = dir("C:\Users\Administrator\Desktop\NTIRE2020_Validation_Spectral\*.mat");
%这样可以得到这个文件夹里面的所有文件的名字
for i1 = 1:1
cube_gen = load([direction_gen gen_HSI(i1).name]);
cube_true = load([direction_true true_HSI(i1).name]);
...
%里面对逐一加载的数据进行一系列的操作
end
保存数据
Python
之后补充
Matlab
- 如果所要保存的数据是一个可以直接得到的矩阵可以直接用imwrite()函数,保存图片。
save_dir = ['C:\Users\Administrator\Desktop\distinct\' true_HSI(i1).name(1:12) '_' num2str(i2) 'nm' '.jpg'];
%后面要拼接上'.文件格式'
imwrite(distinction, save_dir)
- 如果想要保存的数据并不是一个矩阵,只能先将其显示出来再保存的图(如热力图)
注意:一定要把图先画出来,否则保存的是一张空白图
f = getframe(gcf);
%先得到比如plot画出来的内张图,存在一个问题就是会有较宽的白边,可能需要进行裁剪,比较麻烦
save_dir = ['C:\Users\Administrator\Desktop\distinct\' true_HSI(i1).name(1:12) '_' num2str(i2) 'nm' '.jpg'];
imwrite(f.cdata(38:520,109:623,:),save_dir)
%会不会每次要裁剪的边都一样长,可以试试