歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Matlab獲取文件夾中所有圖像的方法

Matlab獲取文件夾中所有圖像的方法

日期:2017/3/1 9:42:35   编辑:Linux編程

Matlab獲取文件夾中所有圖像的方法

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中包含子文件夾,不能讀取子文件夾中的圖像。

2、指定路徑下 多個文件夾中所有圖像,該代碼可以讀取文件夾data中及data的所有子文件夾中的圖像。

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

Matlab與C/C++聯合編程之從Matlab調用C/C++代碼 http://www.linuxidc.com/Linux/2012-08/68148.htm

二分類SVM方法Matlab實現 http://www.linuxidc.com/Linux/2013-05/84050.htm

Matlab中的取整函數fix, floor, ceil與round http://www.linuxidc.com/Linux/2013-10/91161.htm

Matlab編譯cuda的.cu文件 http://www.linuxidc.com/Linux/2014-04/100675.htm

Copyright © Linux教程網 All Rights Reserved