clear clc pathname = uigetdir; name_list=dir(pathname); for i=3:22 name_list(i).num=zeros(20,1); name_list(i).num(i-2)=1; end %pathname = uigetdir; img_name1=importdata('train_30_32.txt'); img_train_num=size(img_name1,1); num=0; for i=1:img_train_num img_name_char=cell2mat(img_name1(i)); label_1(i).name=extractBefore(cell2mat(img_name1(i)),'_'); imgPath = [pathname,'\',label_1(i).name,'\',cell2mat(img_name1(i))]; temp = imread(imgPath); train_x(:,:,i)=temp; % temp = double(temp(:)); % num=num+1; % imagedata1(:,num)=temp; end for i=1:img_train_num for j=1:20 if strcmp(name_list(j+2).name,label_1(i).name) label_1(i).num=name_list(j+2).num; end end train_y(:,i)=uint8(label_1(i).num); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %pathname = uigetdir; img_name1=importdata('test_30_32.txt'); img_test_num=size(img_name1,1); num=0; for i=1:img_test_num img_name_char=cell2mat(img_name1(i)); label_2(i).name=extractBefore(cell2mat(img_name1(i)),'_'); imgPath = [pathname,'\',label_2(i).name,'\',cell2mat(img_name1(i))]; temp = imread(imgPath); test_x(:,:,i)=temp; % temp = double(temp(:)); % num=num+1; % imagedata2(:,num)=temp; end for i=1:img_test_num for j=1:20 if strcmp(name_list(j+2).name,label_2(i).name) label_2(i).num=name_list(j+2).num; end end test_y(:,i)=uint8(label_2(i).num); end save('E:\\imgdata_uint8.mat', 'train_x','train_y','test_x','test_y');逐行解释
时间: 2024-02-07 13:04:06 浏览: 70
clc.rar_clc_matlab 中值滤波_中值_中值滤波 S函数_中值滤波 matlab
这段代码的作用是读取指定目录下的图像文件,将其转换为数据集用于深度学习训练。
首先,使用 `uigetdir` 函数让用户选择一个目录,然后使用 `dir` 函数获取该目录下所有文件的信息,存储在 `name_list` 数组中。接着,使用循环遍历前 20 个文件夹(`name_list` 中的前两个元素为 `.` 和 `..`),并为每个文件夹创建一个标签向量 `num`,其中第 `i-2` 个元素为 1,其余为 0,表示该文件夹对应的标签。
接下来,读取训练集图像文件。首先从一个文件中读取所有图像文件名,然后使用 `imread` 函数读取每个图像文件,并将其存储在 `train_x` 数组中。同时,将每个图像文件的标签与对应的标签向量 `num` 进行匹配,并将结果存储在 `train_y` 数组中。这样,`train_x` 和 `train_y` 就构成了训练集。
最后,读取测试集图像文件,方法与读取训练集图像文件类似。将读取得到的图像文件和标签信息存储在 `test_x` 和 `test_y` 数组中,构成测试集。最后,将训练集和测试集数据保存在 `imgdata_uint8.mat` 文件中。
需要注意的是,这段代码仅适用于特定的图像数据集,如果要将其应用于其他数据集,需要进行相应的修改。
阅读全文