matlab一個文件夾裏面包含多個文件夾,讀取所有文件夾內的圖像路徑生成list



pathout = 'F:\文本分割\norm_image\list.txt';
fp = fopen(pathout,'wt')


p = genpath('F:\文本分割\norm_image');% 獲得文件夾data下所有子文件的路徑,這些路徑存在字符串p中,以';'分割
length_p = size(p,2);%字符串p的長度
path = {};%建立一個單元數組,數組的每個單元中包含一個目錄
temp = [];
for i = 1:length_p %尋找分割符';',一旦找到,則將路徑temp寫入path數組中
    if p(i) ~= ';'
        temp = [temp p(i)];
    else 
        temp = [temp '\']; %在路徑的最後加入 '\'
        path = [path ; temp];
        temp = [];
    end
end  
clear p length_p temp;
%至此獲得data文件夾及其所有子文件夾(及子文件夾的子文件夾)的路徑,存於數組path中。
%下面是逐一文件夾中讀取圖像
file_num = size(path,1);% 子文件夾的個數
for i = 1:file_num
    file_path =  path{i}; % 圖像文件夾路徑
    img_path_list = dir(strcat(file_path,'*.jpg'));
    img_num = length(img_path_list); %該文件夾中圖像數量
        for j = 1:img_num
            image_name = img_path_list(j).name;% 圖像名
            imgpath = strcat(file_path,image_name);
            fprintf(fp,'%s \n',imgpath);
        end
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章