深度学习,要输入数据集的.mat文件,但是所公布的数据集全是图片,需要自己将其转换为.mat,找了几个方法融合了一下,特此记录,方便以后使用。
数据集:CAVE,32个光谱场景,每个场景31个通道,尺寸512*512*31
每个文件夹内的图片按照顺序排列,以fake_and_real_strawberries_ms数据集为例:
最终得到了每个文件夹的.mat文件
% %%针对图片名为连续标号的Matlab程序
file_path = 'E:\Users\Li\Desktop\keti\dataset\complete_ms_data\fake_and_real_strawberries_ms\fake_and_real_strawberries_ms\';%图片路径可以根据自己需要修改;
pic = '*png';%图片格式,根据自己的图片格式进行修改;
filename='fake_and_real_strawberries_ms_'; %根据自己的图片名称设定
Datalist = dir(strcat(file_path,pic));%获取该文件夹中所有jpg格式的信息
for i = 1 : length(Datalist)
x(:,:,i) = imread([file_path,filename,num2str(i),'.png']) %获得文件夹中的每一幅图片
%由于我的数据输入进来格式是uint16,需要改成double型
imagD = double(x(:,:,i));
m = max(imagD(:)) ; n = min(imagD(:)) ;
K = uint8((imagD-n)*255/(m-n));
orig(:,:,i) = double(K)/255
end
save(['E:\Users\Li\Desktop\keti\dataset\complete_ms_data\fake_and_real_strawberries_ms\fake_and_real_strawberries_ms\',filename,'.mat'],'orig') %保存到指定路径
这个方法适用于单个文件夹,我是手动改每个文件夹路径得到每个数据集的mat文件的哈哈哈,虽然方法有点笨,但是得到mat文件我已经很满足了...
参考链接:(23条消息) 利用Matlab将多张图片转换成mat文件_nliang-CSDN博客_mat文件转换成图像
MATLAB实例:将批量的图片保存为.mat文件 - 凯鲁嘎吉 - 博客园 (cnblogs.com)