2016-04-08 15 views
0

私はMatlabの初心者です。私は以下のようなコードを持っています。複数のフォルダを読む方法。私はループを使用して知っているが、何とか私はそれを見つけることができない私はグーグル。また、私が以下に書いたのは、myAフォルダです。同じマットにfeatureVectorを置く方法myA、myB、myCのAllTrain?フォルダにはイメージが含まれています。複数のフォルダmatlabにアクセスして同じマットに保存

clear all; 
clc; 

trainlabel = []; 
featureVector = []; 
AllTrain = []; 

% Specify the folder 
myA = 'C:\Users\NotComplex\a'; 
myB = 'C:\Users\NotComplex\b'; 
myC = 'C:\Users\NotComplex\c'; 

for k = 1 : length(theFiles) 
baseFileName = theFiles(k).name; 
fullFileName = fullfile(myA, baseFileName); 
fprintf(1, 'Now reading %s\n', fullFileName); 
% Now imread the file 
imageArray = imread(fullFileName); 
imageEdge = edge(imageArray, 'canny', 0.4); 

a_inv_mom = Hu_Moments(imageEdge); 
format short 
a_inv_mom_normal = -sign(a_inv_mom).*(log10(abs(a_inv_mom))); 

featureVector = cat(1,a_inv_mom_normal); 
AllTrain(k,:) = [featureVector k]; 

% imshow(imageEdge); % Display image. 
drawnow % Force display to update immediately. 
end 
+0

のすべてから.pgmのすべてのファイルが含まれています、あなたのループを継続することができます: 'theFiles'の内容は何ですか? – DVarga

+0

多分あなたの質問は重複しています。これを試してください:http://stackoverflow.com/questions/11980192/matlab-multiple-folders?rq=1 –

+0

filePattern = fullfile(myA、 '* .pgm'); theFiles = dir(filePattern);私はコードを貼り付けるのを忘れた。ごめんなさい。 @DVarga。 – Afiq

答えて

0

コンパクトに:

folderCell = {'C:\Users\NotComplex\a', 'C:\Users\NotComplex\b', 'C:\Users\NotComplex\c'}; 

theFiles = cellfun(@(x) fullfile(x, '*.pgm'), folderCell, 'UniformOutput', false); 

その後、あなたはいくつかの助けを期待していた場合theFilesは、3つのディレクトリ

関連する問題