clear ;clc;
%% Step 1 lOADING PATHS
path_imgDB = '256_ObjectCategories\';
addpath(path_imgDB);
addpath tools;
imgNamList = [];
Caltech_256_fea = [];
label_256 = [];
%% Step 2 LOADING IMAGE AND EXTRACTING FEATURE
subdir = dir(path_imgDB);% dir 作用:显示xxx目录下的文件和文件夹
for i = 1:length(subdir)
if( isequal( subdir( i ).name, '.' )||...
isequal( subdir( i ).name, '..')||...
~subdir( i ).isdir) % 如果不是目录则跳过
continue;
end
imgFiles_1 = subdir(i).name;
s = [path_imgDB imgFiles_1 '\'];
sub2dir = dir(s);
% for ii = 3:length(sub2dir)
imgFiles_11 = [imgFiles_1 '\'];
ss = [path_imgDB imgFiles_11];
tu_xiang_ming = dir(ss);
imgNamList_each_class = {tu_xiang_ming(~[tu_xiang_ming.isdir]).name};% 取出非目录的内容(即文件名列表),很牛×的一个方法,重点记忆以下,以后读取任何无规律命名的图像就靠它了
% clear imgFiles;
imgNamList_each_class = imgNamList_each_class';% 把文件名字矩阵转置
numImg = length(imgNamList_each_class); % 总共的图像总数目
feat = [];
rgbImgList = {};
%parpool;
%parfor i = 1:numImg
for iii = 1:numImg % 图像的总共的数目
C = imgNamList_each_class{iii, 1};
D = C(1:length(C)-4); % 去掉后面的文件格式:.jpg
oriImg = imread([ss imgNamList_each_class{iii, 1}]); % 这个读取方式就是按照那个 imgNamList 的顺序读取的
imwrite(oriImg,['C:\Users\lenovo\Desktop\Lihao\Caltech-256检索\total_image\',D,'.jpg']); % 写到指定的文件夹
end
end
matlab读取2级文件夹,并把图像保存到指定的文件夹
最新推荐文章于 2024-01-08 10:29:47 发布