matlab读取2级文件夹,并把图像保存到指定的文件夹

来源:互联网 发布:怎样学好算法 编辑:程序博客网 时间:2024/05/17 05:02
clear ;clc;%% Step 1 lOADING PATHSpath_imgDB = '256_ObjectCategories\';addpath(path_imgDB);addpath tools;imgNamList = [];Caltech_256_fea = [];label_256 = [];%% Step 2 LOADING IMAGE AND EXTRACTING FEATUREsubdir = 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']);  % 写到指定的文件夹        endend


0 0
原创粉丝点击