I have the following code:
distances = pdist2(TE,TR); %testing sample(TE) and training sample(TR)
[Euc_dist_min , Recognized_index] = min(distances,[], 2)
From the above code, i got the min distance and corresponding index. For example i have 3 faces for testing and 6 faces for training:
Euc_dist_min = 23.4417 25.2491 20.4378Recognized_index = 1 4 5
How can i get the corresponding file names that represent those index.I name them as 0101,0102,0103,0201,0202,0203(.txt).I use
for k=1:length(Recognized_index) OutputFileName = Recognized_index(k).nameend
but i got an error 'Struct contents reference from a non-struct array object'. My training files obtained as follows:
FolderTrain = 'D:\train'; AllTrainFiles = fullfile(FolderTrain, '*.txt'); TrainFiles = dir(AllTrainFiles);for i=1:length(TrainFiles) baseTrainFilename = (TrainFiles(i).name); TrainFileName = fullfile(FolderTrain, baseTrainFilename); fid = fopen(TrainFileName); A{i} = fscanf(fid, '%d %d %d'); fclose(fid);end
Thank you.
Best Answer