Matlab生成适配ResNet50分类代码的图像.mat数据集方法
Matlab 符合ResNet50分类代码要求的数据集生成代码
首先明确目标输出DatasColor_38.mat内DATA元胞数组的固定结构,和原分类代码完全对齐:
DATA{1}:1×总样本数的元胞数组,单个元素对应1张uint8格式的RGB图像DATA{2}:长度为总样本数的double类型标签数组,标签取值为1~类别数DATA{3}:折数×总样本数的double类型索引矩阵,每行为打乱后的全样本索引,前DIM1个为训练集索引,后续为测试集索引(和原示例一致默认生成3折划分)DATA{4}:double类型数值,单折对应的训练集样本数DATA{5}:double类型数值,总样本数
前置准备:将你的7类图像按类别放在独立子文件夹中,子文件夹直接命名为
1到7,所有子文件夹放在同一个根目录下,代码会自动遍历子文件夹读取图像和对应标签。
%% 参数配置 可根据自身需求修改 dataset_root = './your_dataset_folder'; % 替换为存放7个类别子文件夹的根目录路径 class_num = 7; % 类别总数 train_ratio = 2/3; % 训练集占比,和原示例880/1320比例保持一致,若要8:2划分改为0.8即可 fold_num = 3; % 交叉验证折数,和原示例保持一致为3 img_suffix = '*.jpeg'; % 图像后缀,若是jpg就改为*.jpg、png就改为*.png %% 读取所有图像和标签 NX = {}; lab = []; for class_id = 1:class_num class_folder = fullfile(dataset_root, num2str(class_id)); img_list = dir(fullfile(class_folder, img_suffix)); fprintf('正在读取第%d类图像,共%d张\n', class_id, length(img_list)); for i = 1:length(img_list) img_path = fullfile(class_folder, img_list(i).name); img = imread(img_path); % 统一处理为3通道RGB图像,避免维度不匹配报错 if size(img,3) == 1 img = repmat(img, [1,1,3]); elseif size(img,3) == 4 img = img(:,:,1:3); end NX{end+1} = img; lab(end+1,1) = class_id; end end total_num = length(lab); % 总样本数 DIM1 = round(total_num * train_ratio); % 训练集样本数 DIM2 = total_num; % 总样本数 %% 生成3折划分索引矩阵DIV DIV = zeros(fold_num, total_num); for fold = 1:fold_num % 分层打乱索引,保证每折类别分布均匀 fold_idx = []; for class_id = 1:class_num class_idx = find(lab == class_id); class_idx = class_idx(randperm(length(class_idx))); fold_idx = [fold_idx; class_idx]; end DIV(fold,:) = fold_idx(randperm(length(fold_idx))); end %% 组装为指定结构的DATA元胞数组并保存 DATA = cell(1,5); DATA{1} = NX; DATA{2} = lab; DATA{3} = DIV; DATA{4} = DIM1; DATA{5} = DIM2; save('DatasColor_38.mat', 'DATA'); fprintf('数据集生成完成,总样本数%d,训练集样本数%d,测试集样本数%d\n', DIM2, DIM1, DIM2-DIM1);
使用说明
- 运行代码前修改
dataset_root为你自己的数据集根目录路径,根据图像实际格式修改img_suffix参数即可 - 生成的
DatasColor_38.mat直接放在原ResNet50分类代码的工作目录下,不需要修改原分类代码即可直接运行 - 代码自动处理灰度图、RGBA格式图像为3通道RGB格式,避免维度报错
- 索引划分采用分层随机打乱,保证训练集、测试集的类别分布和整体数据集一致
内容的提问来源于stack exchange,提问作者Member
相关产品推荐
相关产品推荐

