1. 指定路徑下 單個文件夾data中全部圖像數組
file_path = '.\data\';% 圖像文件夾路徑 img_path_list = dir(strcat(file_path,'*.jpg'));%獲取該文件夾中全部jpg格式的圖像 img_num = length(img_path_list);%獲取圖像總數量 if img_num > 0 %有知足條件的圖像 for j = 1:img_num %逐一讀取圖像 image_name = img_path_list(j).name;% 圖像名 image = imread(strcat(file_path,image_name)); fprintf('%d %d %s\n',i,j,strcat(file_path,image_name));% 顯示正在處理的圖像名 %圖像處理過程 省略 end end
注,上述的代碼只能讀取data文件夾中的圖像,假設data中包含子文件夾,不能讀取子文件夾中的圖像。.net
2. 指定路徑下 多個文件夾中全部圖像,該代碼能夠讀取文件夾data中及data的全部子文件夾中的圖像。blog
p = genpath('.\data');% 得到文件夾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); %該文件夾中圖像數量 if img_num > 0 for j = 1:img_num image_name = img_path_list(j).name;% 圖像名 image = imread(strcat(file_path,image_name)); fprintf('%d %d %s\n',i,j,strcat(file_path,image_name));% 顯示正在處理的路徑和圖像名 %圖像處理過程 省略 end end end
原文:http://blog.csdn.net/haizimin/article/details/39646595字符串